ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

Intermediate Representation opcodes

Enumerator:
IR_NOP 
IR_SEQ 
IR_SCOPE 
IR_LABEL 
IR_COND 
IR_IF 
IR_BEGIN_SUB 
IR_END_SUB 
IR_RETURN 
IR_CALL 
IR_LOOP 
IR_CONT 
IR_BREAK 
IR_BREAK_IF_TRUE 

Children[0] = the condition expression

IR_CONT_IF_TRUE 
IR_COPY 

assignment/copy

IR_MOVE 

assembly MOV instruction

IR_ADD 

assembly ADD instruction

IR_SUB 
IR_MUL 
IR_DIV 
IR_DOT4 
IR_DOT3 
IR_DOT2 
IR_NRM4 
IR_NRM3 
IR_CROSS 
IR_LRP 
IR_CLAMP 
IR_MIN 
IR_MAX 
IR_SEQUAL 
IR_SNEQUAL 
IR_SGE 
IR_SGT 
IR_SLE 
IR_SLT 
IR_POW 
IR_EXP 
IR_EXP2 
IR_LOG2 
IR_RSQ 
IR_RCP 
IR_FLOOR 
IR_FRAC 
IR_ABS 
IR_NEG 
IR_DDX 
IR_DDY 
IR_SIN 
IR_COS 
IR_NOISE1 
IR_NOISE2 
IR_NOISE3 
IR_NOISE4 
IR_EQUAL 
IR_NOTEQUAL 
IR_NOT 
IR_VAR 
IR_VAR_DECL 
IR_ELEMENT 
IR_FIELD 
IR_SWIZZLE 
IR_TEX 
IR_TEXB 
IR_TEXP 
IR_FLOAT 
IR_I_TO_F 
IR_F_TO_I 
IR_KILL 

Definition at line 45 of file slang_ir.h.

{
   IR_NOP = 0,
   IR_SEQ,     /* sequence (eval left, then right) */
   IR_SCOPE,   /* new variable scope (one child) */

   IR_LABEL,   /* target of a jump or cjump */

   IR_COND,    /* conditional expression/predicate */

   IR_IF,      /* high-level IF/then/else */
               /* Children[0] = conditional expression */
               /* Children[1] = if-true part */
               /* Children[2] = if-else part, or NULL */

   IR_BEGIN_SUB, /* begin subroutine */
   IR_END_SUB,   /* end subroutine */
   IR_RETURN,    /* return from subroutine */
   IR_CALL,      /* call subroutine */

   IR_LOOP,      /* high-level loop-begin / loop-end */
                 /* Children[0] = loop body */
                 /* Children[1] = loop tail code, or NULL */

   IR_CONT,      /* continue loop */
                 /* n->Parent = ptr to parent IR_LOOP Node */
   IR_BREAK,     /* break loop */

   IR_BREAK_IF_TRUE, 
   IR_CONT_IF_TRUE,

   IR_COPY,       
   IR_MOVE,       
   /* vector ops: */
   IR_ADD,        
   IR_SUB,
   IR_MUL,
   IR_DIV,
   IR_DOT4,
   IR_DOT3,
   IR_DOT2,
   IR_NRM4,
   IR_NRM3,
   IR_CROSS,   /* vec3 cross product */
   IR_LRP,
   IR_CLAMP,
   IR_MIN,
   IR_MAX,
   IR_SEQUAL,  /* Set if args are equal (vector) */
   IR_SNEQUAL, /* Set if args are not equal (vector) */
   IR_SGE,     /* Set if greater or equal (vector) */
   IR_SGT,     /* Set if greater than (vector) */
   IR_SLE,     /* Set if less or equal (vector) */
   IR_SLT,     /* Set if less than (vector) */
   IR_POW,     /* x^y */
   IR_EXP,     /* e^x */
   IR_EXP2,    /* 2^x */
   IR_LOG2,    /* log base 2 */
   IR_RSQ,     /* 1/sqrt() */
   IR_RCP,     /* reciprocol */
   IR_FLOOR,
   IR_FRAC,
   IR_ABS,     /* absolute value */
   IR_NEG,     /* negate */
   IR_DDX,     /* derivative w.r.t. X */
   IR_DDY,     /* derivative w.r.t. Y */
   IR_SIN,     /* sine */
   IR_COS,     /* cosine */
   IR_NOISE1,  /* noise(x) */
   IR_NOISE2,  /* noise(x, y) */
   IR_NOISE3,  /* noise(x, y, z) */
   IR_NOISE4,  /* noise(x, y, z, w) */

   IR_EQUAL,   /* boolean equality */
   IR_NOTEQUAL,/* boolean inequality */
   IR_NOT,     /* boolean not */

   IR_VAR,     /* variable reference */
   IR_VAR_DECL,/* var declaration */

   IR_ELEMENT, /* array element */
   IR_FIELD,   /* struct field */
   IR_SWIZZLE, /* swizzled storage access */

   IR_TEX,     /* texture lookup */
   IR_TEXB,    /* texture lookup with LOD bias */
   IR_TEXP,    /* texture lookup with projection */

   IR_FLOAT,
   IR_I_TO_F,  /* int[4] to float[4] conversion */
   IR_F_TO_I,  /* float[4] to int[4] conversion */

   IR_KILL     /* fragment kill/discard */
} slang_ir_opcode;

Generated on Sat May 26 2012 04:58:10 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.