Path: blob/21.2-virgl/src/gallium/drivers/r600/r600_opcodes.h
4570 views
1#ifndef R600_OPCODES_H2#define R600_OPCODES_H34#define R600_S_SQ_CF_WORD1_CF_INST(x) (((unsigned)(x) & 0x7F) << 23)5#define R600_G_SQ_CF_WORD1_CF_INST(x) (((x) >> 23) & 0x7F)6#define R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((unsigned)(x) & 0x7F) << 23)7#define R600_G_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((x) >> 23) & 0x7F)8#define R600_S_SQ_CF_ALU_WORD1_CF_INST(x) (((unsigned)(x) & 0xF) << 26)9#define R600_G_SQ_CF_ALU_WORD1_CF_INST(x) (((x) >> 26) & 0xF)1011#define EG_S_SQ_CF_WORD1_CF_INST(x) (((unsigned)(x) & 0xFF) << 22)12#define EG_G_SQ_CF_WORD1_CF_INST(x) (((x) >> 22) & 0xFF)13#define EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((unsigned)(x) & 0xFF) << 22)14#define EG_G_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(x) (((x) >> 22) & 0xFF)15#define EG_S_SQ_CF_ALU_WORD1_CF_INST(x) (((unsigned)(x) & 0xF) << 26)16#define EG_G_SQ_CF_ALU_WORD1_CF_INST(x) (((x) >> 26) & 0xF)1718#define V_SQ_CF_WORD1_SQ_CF_INST_NOP R600_S_SQ_CF_WORD1_CF_INST(0x00000000)19#define V_SQ_CF_WORD1_SQ_CF_INST_TEX R600_S_SQ_CF_WORD1_CF_INST(0x00000001)20#define V_SQ_CF_WORD1_SQ_CF_INST_VTX R600_S_SQ_CF_WORD1_CF_INST(0x00000002)21#define V_SQ_CF_WORD1_SQ_CF_INST_VTX_TC R600_S_SQ_CF_WORD1_CF_INST(0x00000003)22#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START R600_S_SQ_CF_WORD1_CF_INST(0x00000004)23#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END R600_S_SQ_CF_WORD1_CF_INST(0x00000005)24#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10 R600_S_SQ_CF_WORD1_CF_INST(0x00000006)25#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL R600_S_SQ_CF_WORD1_CF_INST(0x00000007)26#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE R600_S_SQ_CF_WORD1_CF_INST(0x00000008)27#define V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK R600_S_SQ_CF_WORD1_CF_INST(0x00000009)28#define V_SQ_CF_WORD1_SQ_CF_INST_JUMP R600_S_SQ_CF_WORD1_CF_INST(0x0000000A)29#define V_SQ_CF_WORD1_SQ_CF_INST_PUSH R600_S_SQ_CF_WORD1_CF_INST(0x0000000B)30#define V_SQ_CF_WORD1_SQ_CF_INST_PUSH_ELSE R600_S_SQ_CF_WORD1_CF_INST(0x0000000C)31#define V_SQ_CF_WORD1_SQ_CF_INST_ELSE R600_S_SQ_CF_WORD1_CF_INST(0x0000000D)32#define V_SQ_CF_WORD1_SQ_CF_INST_POP R600_S_SQ_CF_WORD1_CF_INST(0x0000000E)33#define V_SQ_CF_WORD1_SQ_CF_INST_POP_JUMP R600_S_SQ_CF_WORD1_CF_INST(0x0000000F)34#define V_SQ_CF_WORD1_SQ_CF_INST_POP_PUSH R600_S_SQ_CF_WORD1_CF_INST(0x00000010)35#define V_SQ_CF_WORD1_SQ_CF_INST_POP_PUSH_ELSE R600_S_SQ_CF_WORD1_CF_INST(0x00000011)36#define V_SQ_CF_WORD1_SQ_CF_INST_CALL R600_S_SQ_CF_WORD1_CF_INST(0x00000012)37#define V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS R600_S_SQ_CF_WORD1_CF_INST(0x00000013)38#define V_SQ_CF_WORD1_SQ_CF_INST_RETURN R600_S_SQ_CF_WORD1_CF_INST(0x00000014)39#define V_SQ_CF_WORD1_SQ_CF_INST_EMIT_VERTEX R600_S_SQ_CF_WORD1_CF_INST(0x00000015)40#define V_SQ_CF_WORD1_SQ_CF_INST_EMIT_CUT_VERTEX R600_S_SQ_CF_WORD1_CF_INST(0x00000016)41#define V_SQ_CF_WORD1_SQ_CF_INST_CUT_VERTEX R600_S_SQ_CF_WORD1_CF_INST(0x00000017)42#define V_SQ_CF_WORD1_SQ_CF_INST_KILL R600_S_SQ_CF_WORD1_CF_INST(0x00000018)4344#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU R600_S_SQ_CF_ALU_WORD1_CF_INST(0x00000008)45#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE R600_S_SQ_CF_ALU_WORD1_CF_INST(0x00000009)46#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP_AFTER R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000A)47#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP2_AFTER R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000B)48#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_CONTINUE R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000D)49#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_BREAK R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000E)50#define V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_ELSE_AFTER R600_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000F)5152#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD 0x0000000053#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL 0x0000000154#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_IEEE 0x0000000255#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX 0x0000000356#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN 0x0000000457#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_DX10 0x0000000558#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_DX10 0x0000000659#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FREXP_64 0x0000000760#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE 0x0000000861#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT 0x0000000962#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE 0x0000000A63#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE 0x0000000B64#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_DX10 0x0000000C65#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_DX10 0x0000000D66#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_DX10 0x0000000E67#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_DX10 0x0000000F68#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT 0x0000001069#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_TRUNC 0x0000001170#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CEIL 0x0000001271#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RNDNE 0x0000001372#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLOOR 0x0000001473#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA 0x0000001574#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR 0x0000001675#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD_64 0x0000001776#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT 0x0000001877#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV 0x0000001978#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP 0x0000001A79#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_64 0x0000001B80#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT64_TO_FLT32 0x0000001C81#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT32_TO_FLT64 0x0000001D82#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_UINT 0x0000001E83#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_UINT 0x0000001F84#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE 0x0000002085#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT 0x0000002186#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE 0x0000002287#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE 0x0000002388#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_INV 0x0000002489#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_POP 0x0000002590#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_CLR 0x0000002691#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_RESTORE 0x0000002792#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH 0x0000002893#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH 0x0000002994#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH 0x0000002A95#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH 0x0000002B96#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE 0x0000002C97#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT 0x0000002D98#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE 0x0000002E99#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE 0x0000002F100#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_AND_INT 0x00000030101#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_OR_INT 0x00000031102#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_XOR_INT 0x00000032103#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOT_INT 0x00000033104#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD_INT 0x00000034105#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SUB_INT 0x00000035106#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_INT 0x00000036107#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_INT 0x00000037108#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_UINT 0x00000038109#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_UINT 0x00000039110#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_INT 0x0000003A111#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_INT 0x0000003B112#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_INT 0x0000003C113#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_INT 0x0000003D114#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_UINT 0x0000003E115#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_UINT 0x0000003F116#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_UINT 0x00000040117#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_UINT 0x00000041118#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_INT 0x00000042119#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_INT 0x00000043120#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_INT 0x00000044121#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_INT 0x00000045122#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE_INT 0x00000046123#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_INT 0x00000047124#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_INT 0x00000048125#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE_INT 0x00000049126#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH_INT 0x0000004A127#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH_INT 0x0000004B128#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH_INT 0x0000004C129#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH_INT 0x0000004D130#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLT_PUSH_INT 0x0000004E131#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLE_PUSH_INT 0x0000004F132#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4 0x00000050133#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE 0x00000051134#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE 0x00000052135#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX4 0x00000053136137#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_GPR_INT 0x00000060138#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE 0x00000061139#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED 0x00000062140#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE 0x00000063141#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED 0x00000064142#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_FF 0x00000065143#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE 0x00000066144#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED 0x00000067145#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_FF 0x00000068146#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE 0x00000069147#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SQRT_IEEE 0x0000006A148#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT 0x0000006B149#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT 0x0000006C150#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UINT_TO_FLT 0x0000006D151#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN 0x0000006E152#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS 0x0000006F153#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ASHR_INT 0x00000070154#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT 0x00000071155#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHL_INT 0x00000072156#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_INT 0x00000073157#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_INT 0x00000074158#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_UINT 0x00000075159#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_UINT 0x00000076160#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT 0x00000077161#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT 0x00000078162#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_UINT 0x00000079163#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LDEXP_64 0x0000007A164#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT_64 0x0000007B165#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_64 0x0000007C166#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_64 0x0000007D167#define V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_64 0x0000007E168169#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_64 0x00000008170#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_64_M2 0x00000009171#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_64_M4 0x0000000A172#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_64_D2 0x0000000B173#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT 0x0000000C174#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M2 0x0000000D175#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M4 0x0000000E176#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_D2 0x0000000F177#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD 0x00000010178#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_M2 0x00000011179#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_M4 0x00000012180#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_D2 0x00000013181#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE 0x00000014182#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE_M2 0x00000015183#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE_M4 0x00000016184#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE_D2 0x00000017185#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDE 0x00000018186#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGT 0x00000019187#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGE 0x0000001A188#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDE_INT 0x0000001C189#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGT_INT 0x0000001D190#define V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGE_INT 0x0000001E191192#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0 R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000020)193#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1 R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000021)194#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2 R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000022)195#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3 R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000023)196#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_SCRATCH R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000024)197#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_REDUCTION R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000025)198#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000026)199#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000027)200#define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT_DONE R600_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000028)201202/* cayman doesn't have VTX */203#define EG_V_SQ_CF_WORD1_SQ_CF_INST_NOP EG_S_SQ_CF_WORD1_CF_INST(0x00000000)204#define EG_V_SQ_CF_WORD1_SQ_CF_INST_TEX EG_S_SQ_CF_WORD1_CF_INST(0x00000001)205#define CM_V_SQ_CF_WORD1_SQ_CF_INST_TC EG_S_SQ_CF_WORD1_CF_INST(0x00000001)206#define EG_V_SQ_CF_WORD1_SQ_CF_INST_VTX EG_S_SQ_CF_WORD1_CF_INST(0x00000002)207#define CM_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_2 EG_S_SQ_CF_WORD1_CF_INST(0x00000002)208#define EG_V_SQ_CF_WORD1_SQ_CF_INST_GDS EG_S_SQ_CF_WORD1_CF_INST(0x00000003)209#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START EG_S_SQ_CF_WORD1_CF_INST(0x00000004)210#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END EG_S_SQ_CF_WORD1_CF_INST(0x00000005)211#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_DX10 EG_S_SQ_CF_WORD1_CF_INST(0x00000006)212#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START_NO_AL EG_S_SQ_CF_WORD1_CF_INST(0x00000007)213#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE EG_S_SQ_CF_WORD1_CF_INST(0x00000008)214#define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK EG_S_SQ_CF_WORD1_CF_INST(0x00000009)215#define EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMP EG_S_SQ_CF_WORD1_CF_INST(0x0000000A)216#define EG_V_SQ_CF_WORD1_SQ_CF_INST_PUSH EG_S_SQ_CF_WORD1_CF_INST(0x0000000B)217#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_12 EG_S_SQ_CF_WORD1_CF_INST(0x0000000C) /* resvd */218#define EG_V_SQ_CF_WORD1_SQ_CF_INST_ELSE EG_S_SQ_CF_WORD1_CF_INST(0x0000000D)219#define EG_V_SQ_CF_WORD1_SQ_CF_INST_POP EG_S_SQ_CF_WORD1_CF_INST(0x0000000E)220#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_15 EG_S_SQ_CF_WORD1_CF_INST(0x0000000F)221#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_16 EG_S_SQ_CF_WORD1_CF_INST(0x00000010)222#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_17 EG_S_SQ_CF_WORD1_CF_INST(0x00000011)223#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CALL EG_S_SQ_CF_WORD1_CF_INST(0x00000012)224#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS EG_S_SQ_CF_WORD1_CF_INST(0x00000013)225#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RETURN EG_S_SQ_CF_WORD1_CF_INST(0x00000014)226#define EG_V_SQ_CF_WORD1_SQ_CF_INST_EMIT_VERTEX EG_S_SQ_CF_WORD1_CF_INST(0x00000015)227#define EG_V_SQ_CF_WORD1_SQ_CF_INST_EMIT_CUT_VERTEX EG_S_SQ_CF_WORD1_CF_INST(0x00000016)228#define EG_V_SQ_CF_WORD1_SQ_CF_INST_CUT_VERTEX EG_S_SQ_CF_WORD1_CF_INST(0x00000017)229#define EG_V_SQ_CF_WORD1_SQ_CF_INST_KILL EG_S_SQ_CF_WORD1_CF_INST(0x00000018)230#define EG_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_25 EG_S_SQ_CF_WORD1_CF_INST(0x00000019)231#define EG_V_SQ_CF_WORD1_SQ_CF_INST_WAIT_ACK EG_S_SQ_CF_WORD1_CF_INST(0x0000001a)232#define EG_V_SQ_CF_WORD1_SQ_CF_INST_TC_ACK EG_S_SQ_CF_WORD1_CF_INST(0x0000001b)233#define EG_V_SQ_CF_WORD1_SQ_CF_INST_VC_ACK EG_S_SQ_CF_WORD1_CF_INST(0x0000001c)234#define CM_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_28 EG_S_SQ_CF_WORD1_CF_INST(0x0000001c)235#define EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMPTABLE EG_S_SQ_CF_WORD1_CF_INST(0x0000001d)236#define EG_V_SQ_CF_WORD1_SQ_CF_INST_GLOBAL_WAVE_SYNC EG_S_SQ_CF_WORD1_CF_INST(0x0000001e)237#define EG_V_SQ_CF_WORD1_SQ_CF_INST_HALT EG_S_SQ_CF_WORD1_CF_INST(0x0000001f)238239/* cayman extras */240#define CM_V_SQ_CF_WORD1_SQ_CF_INST_END EG_S_SQ_CF_WORD1_CF_INST(0x00000020)241#define CM_V_SQ_CF_WORD1_SQ_CF_INST_LDS_DEALLOC EG_S_SQ_CF_WORD1_CF_INST(0x00000021)242#define CM_V_SQ_CF_WORD1_SQ_CF_INST_PUSH_WQM EG_S_SQ_CF_WORD1_CF_INST(0x00000022)243#define CM_V_SQ_CF_WORD1_SQ_CF_INST_POP_WQM EG_S_SQ_CF_WORD1_CF_INST(0x00000023)244#define CM_V_SQ_CF_WORD1_SQ_CF_INST_ELSE_WQM EG_S_SQ_CF_WORD1_CF_INST(0x00000024)245#define CM_V_SQ_CF_WORD1_SQ_CF_INST_JUMP_ANY EG_S_SQ_CF_WORD1_CF_INST(0x00000025)246#define CM_V_SQ_CF_WORD1_SQ_CF_INST_REACTIVATE EG_S_SQ_CF_WORD1_CF_INST(0x00000026)247#define CM_V_SQ_CF_WORD1_SQ_CF_INST_REACTIVATE_WQM EG_S_SQ_CF_WORD1_CF_INST(0x00000027)248#define CM_V_SQ_CF_WORD1_SQ_CF_INST_INTERRUPT EG_S_SQ_CF_WORD1_CF_INST(0x00000028)249#define CM_V_SQ_CF_WORD1_SQ_CF_INST_INTERRUPT_AND_SLEEP EG_S_SQ_CF_WORD1_CF_INST(0x00000029)250#define CM_V_SQ_CF_WORD1_SQ_CF_INST_SET_PRIORITY EG_S_SQ_CF_WORD1_CF_INST(0x00000030)251252#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU EG_S_SQ_CF_ALU_WORD1_CF_INST(0x00000008)253#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE EG_S_SQ_CF_ALU_WORD1_CF_INST(0x00000009)254#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP_AFTER EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000A)255#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP2_AFTER EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000B)256#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_EXTENDED EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000C)257#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_CONTINUE EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000D) /* different on CAYMAN */258#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_BREAK EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000E) /* different on CAYMAN */259#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_ELSE_AFTER EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000F)260261#define CM_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_REACTIVATE_BEFORE EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000D)262#define CM_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_VALID_PIXEL_MODE EG_S_SQ_CF_ALU_WORD1_CF_INST(0x0000000E)263264#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD 0x00000000265#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL 0x00000001266#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_IEEE 0x00000002267#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX 0x00000003268#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN 0x00000004269#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_DX10 0x00000005270#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_DX10 0x00000006271#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE 0x00000008272#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT 0x00000009273#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE 0x0000000A274#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE 0x0000000B275#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_DX10 0x0000000C276#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_DX10 0x0000000D277#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_DX10 0x0000000E278#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_DX10 0x0000000F279#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT 0x00000010280#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_TRUNC 0x00000011281#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CEIL 0x00000012282#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RNDNE 0x00000013283#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLOOR 0x00000014284#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ASHR_INT 0x00000015285#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT 0x00000016286#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHL_INT 0x00000017287/* same again from here */288#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV 0x00000019289#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP 0x0000001A290/* same */291#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_UINT 0x0000001E292#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_UINT 0x0000001F293#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE 0x00000020294#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT 0x00000021295#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE 0x00000022296#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE 0x00000023297#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_INV 0x00000024298#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_POP 0x00000025299#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_CLR 0x00000026300#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_RESTORE 0x00000027301#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH 0x00000028302#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH 0x00000029303#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH 0x0000002A304#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH 0x0000002B305#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE 0x0000002C306#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT 0x0000002D307#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE 0x0000002E308#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE 0x0000002F309#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_AND_INT 0x00000030310#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_OR_INT 0x00000031311#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_XOR_INT 0x00000032312#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOT_INT 0x00000033313#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD_INT 0x00000034314#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SUB_INT 0x00000035315#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_INT 0x00000036316#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_INT 0x00000037317#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_UINT 0x00000038318#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_UINT 0x00000039319#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_INT 0x0000003A320#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_INT 0x0000003B321#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_INT 0x0000003C322#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_INT 0x0000003D323#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_UINT 0x0000003E324#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_UINT 0x0000003F325#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_UINT 0x00000040326#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_UINT 0x00000041327#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_INT 0x00000042328#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_INT 0x00000043329#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_INT 0x00000044330#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_INT 0x00000045331#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE_INT 0x00000046332#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_INT 0x00000047333#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_INT 0x00000048334#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE_INT 0x00000049335#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH_INT 0x0000004A336#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH_INT 0x0000004B337#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH_INT 0x0000004C338#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH_INT 0x0000004D339#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLT_PUSH_INT 0x0000004E340#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLE_PUSH_INT 0x0000004F341/* same up to here */342#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT 0x00000050343#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_BFREV_INT 0x00000051344#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADDC_UINT 0x00000052345#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SUBB_UINT 0x00000053346#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_GROUP_BARRIER 0x00000054347#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_GROUP_SEQ_BEGIN 0x00000055 /* not on CAYMAN */348#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_GROUP_SEQ_END 0x00000056 /* not on CAYMAN */349#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_MODE 0x00000057350#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_CF_IDX0 0x00000058 /* not on CAYMAN */351#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_CF_IDX1 0x00000059 /* not on CAYMAN */352#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_LDS_SIZE 0x0000005A353354#define CM_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_INT24 0x0000005B /* not on evergreen*/355#define CM_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_INT24 0x0000005C /* not on evergreen*/356#define CM_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_TRUNC 0x0000005D /* not on evergreen*/357358#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE 0x00000081359#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED 0x00000082360#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE 0x00000083361#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED 0x00000084362#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_FF 0x00000085363#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE 0x00000086364#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED 0x00000087365#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_FF 0x00000088366#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE 0x00000089367#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SQRT_IEEE 0x0000008A368#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN 0x0000008D369#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS 0x0000008E370#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_INT 0x0000008F371#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_INT 0x00000090372#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_UINT 0x00000091373#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_UINT 0x00000092374#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT 0x00000093 /* not on CAYMAN */375#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT 0x00000094 /* not on CAYMAN */376#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_64 0x00000095377#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED_64 0x00000096378#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_64 0x00000097379#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED_64 0x00000098380#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SQRT_64 0x00000099381#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_UINT 0x0000009A382#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT 0x0000009B383#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UINT_TO_FLT 0x0000009C384385#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_BFM_INT 0x000000A0386#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT32_TO_FLT16 0x000000A2387#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT16_TO_FLT32 0x000000A3388#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UBYTE0_FLT 0x000000A4389#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UBYTE1_FLT 0x000000A5390#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UBYTE2_FLT 0x000000A6391#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UBYTE3_FLT 0x000000A7392#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_BCNT_INT 0x000000AA393#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FFBH_UINT 0x000000AB394#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FFBL_INT 0x000000AC395#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FFBH_INT 0x000000AD396#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_UINT4 0x000000AE397#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT_IEEE 0x000000AF398#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_RPI 0x000000B0399#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR 0x000000B1400#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_UINT24 0x000000B2401#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MBCNT_32HI_INT 0x000000B3402#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_OFFSET_TO_FLT 0x000000B4403#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_UINT24 0x000000B5404#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_BCNT_ACCUM_PREV_INT 0x000000B6405#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MBCNT_32LO_ACCUM_PREV_INT 0x000000B7406#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE_64 0x000000B8407#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE_64 0x000000B9408#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT_64 0x000000BA409#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE_64 0x000000BB410#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN_64 0x000000BC411#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX_64 0x000000BD412#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4 0x000000BE413#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE 0x000000BF414#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE 0x000000C0415#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX4 0x000000C1416#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FREXP_64 0x000000C4417#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LDEXP_64 0x000000C5418#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT_64 0x000000C6419#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_64 0x000000C7420#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_64 0x000000C8421#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_64 0x000000C9422#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_64 0x000000CA423#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD_64 0x000000CB424#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT 0x000000CC425#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT64_TO_FLT32 0x000000CD426#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT32_TO_FLT64 0x000000CE427#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SAD_ACCUM_PREV_UINT 0x000000CF428429#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT 0x000000D0430#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_PREV 0x000000D1431#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_IEEE_PREV 0x000000D2432#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD_PREV 0x000000D3433#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULADD_PREV 0x000000D4434#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULADD_IEEE_PREV 0x000000D5435#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INTERP_XY 0x000000D6436#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INTERP_ZW 0x000000D7437#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INTERP_X 0x000000D8438#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INTERP_Z 0x000000D9439#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_STORE_FLAGS 0x000000DA440#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOAD_STORE_FLAGS 0x000000DB441#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LDS_1A 0x000000DC442#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LDS_1A1D 0x000000DD443#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LDS_2A 0x000000DF444#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INTERP_LOAD_P0 0x000000E0445#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INTERP_LOAD_P10 0x000000E1446#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INTERP_LOAD_P20 0x000000E2447448/* OP3 */449#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_BFE_UINT 0x00000004450#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_BFE_INT 0x00000005451#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_BFI_INT 0x00000006452#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_FMA 0x00000007453#define CM_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_INT24 0x00000008 /* not on evergreen*/454#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDNE_64 0x00000009455#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_FMA_64 0x0000000A456#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_LERP_UINT 0x0000000B457#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_BIT_ALIGN_INT 0x0000000C458#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_BYTE_ALIGN_INT 0x0000000D459#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_SAD_ACCUM_UINT 0x0000000E460#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_SAD_ACCUM_HI_UINT 0x0000000F461#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_UINT24 0x00000010462#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_LDS_IDX_OP 0x00000011463#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD 0x00000014464#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_M2 0x00000015465#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_M4 0x00000016466#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_D2 0x00000017467#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD_IEEE 0x00000018468#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDE 0x00000019469#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGT 0x0000001A470#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGE 0x0000001B471#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDE_INT 0x0000001C472#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGT_INT 0x0000001D473#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_CNDGE_INT 0x0000001E474#define EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT 0x0000001F475476#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF0 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000040)477#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000041)478#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000042)479#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM0_BUF3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000043)480#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF0 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000044)481#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000045)482#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000046)483#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM1_BUF3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000047)484#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF0 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000048)485#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000049)486#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004A)487#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM2_BUF3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004B)488#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF0 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004C)489#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004D)490#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004E)491#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_STREAM3_BUF3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000004F)492#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_SCRATCH EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000050)493#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000052)494#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000053)495#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT_DONE EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000054)496#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_EXPORT EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000055)497#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000056)498#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT_CACHELESS EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000057)499#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING1 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000058)500#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING2 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x00000059)501#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RING3 EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000005A)502#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_EXPORT_COMBINED EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000005B)503#define EG_V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_MEM_RAT_COMBINED_CACHELESS EG_S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(0x0000005C)504505#define BC_INST(bc, x) ((bc)->chip_class >= EVERGREEN ? EG_##x : x)506507#define CTX_INST(x) (ctx->bc->chip_class >= EVERGREEN ? EG_##x : x)508509#endif510511512