2008-01-26 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / mini-ops.h
index c46932f3313060a4c4e6ef03760e1ce35073c5c2..785dd7e719e23800f40beb660f155c2933d2e8fe 100644 (file)
@@ -36,6 +36,7 @@ MINI_OP(OP_VOIDCALL,  "voidcall")
 MINI_OP(OP_VOIDCALLVIRT,       "voidcallvirt")
 MINI_OP(OP_VOIDCALL_REG,       "voidcall_reg")
 MINI_OP(OP_VOIDCALL_MEMBASE,   "voidcall_membase")
+MINI_OP(OP_TRAMPCALL_VTABLE,   "trampcall_vtable")
 MINI_OP(OP_FCALL,      "fcall")
 MINI_OP(OP_FCALLVIRT,  "fcallvirt")
 MINI_OP(OP_FCALL_REG,  "fcall_reg")
@@ -59,12 +60,14 @@ MINI_OP(OP_REGVAR,  "regvar")
 MINI_OP(OP_REG,                "reg")
 MINI_OP(OP_REGOFFSET,  "regoffset")
 MINI_OP(OP_LABEL,      "label")
+MINI_OP(OP_SWITCH,  "switch")
 MINI_OP(OP_CHECK_ARRAY_TYPE,   "check_array_type")
 MINI_OP(OP_ARRAY_RANK, "array_rank")
+MINI_OP(OP_THROW,      "throw")
 MINI_OP(OP_THROW_OR_NULL,      "throw_or_null")
-MINI_OP(OP_RETHROW,    "op_rethrow")
+MINI_OP(OP_RETHROW,    "rethrow")
 MINI_OP(OP_REFANYTYPE, "refanytype")
-MINI_OP(OP_NEWOBJ, "op_newobj")
+MINI_OP(OP_NEWOBJ, "newobj")
 
 MINI_OP(OP_STORE_MEMBASE_IMM,"store_membase_imm")
 MINI_OP(OP_STORE_MEMBASE_REG,"store_membase_reg")
@@ -127,6 +130,12 @@ MINI_OP(OP_SHL_IMM,    "shl_imm")
 MINI_OP(OP_SHR_IMM,    "shr_imm")
 MINI_OP(OP_SHR_UN_IMM, "shr_un_imm")
 
+MINI_OP(OP_NOP,        "nop")
+MINI_OP(OP_BR,         "br")
+MINI_OP(OP_JMP,        "jmp")
+MINI_OP(OP_BREAK,      "break")
+MINI_OP(OP_CKFINITE, "ckfinite")
+
 /* exceptions: must be in the same order as the matching CEE_ branch opcodes */
 MINI_OP(OP_COND_EXC_EQ, "cond_exc_eq")
 MINI_OP(OP_COND_EXC_GE, "cond_exc_ge")
@@ -235,15 +244,15 @@ MINI_OP(OP_LSUB_IMM,     "long_sub_imm")
 MINI_OP(OP_LMUL_IMM,     "long_mul_imm")
 
 MINI_OP(OP_LBEQ,    "long_beq")
-MINI_OP(OP_LBNE_UN, "long_bne_un")
-MINI_OP(OP_LBLT,    "long_blt")
-MINI_OP(OP_LBLT_UN, "long_blt_un")
-MINI_OP(OP_LBGT,    "long_bgt")
-MINI_OP(OP_LBGT_UN, "long_btg_un")
 MINI_OP(OP_LBGE,    "long_bge")
-MINI_OP(OP_LBGE_UN, "long_bge_un")
+MINI_OP(OP_LBGT,    "long_bgt")
 MINI_OP(OP_LBLE,    "long_ble")
+MINI_OP(OP_LBLT,    "long_blt")
+MINI_OP(OP_LBNE_UN, "long_bne_un")
+MINI_OP(OP_LBGE_UN, "long_bge_un")
+MINI_OP(OP_LBGT_UN, "long_btg_un")
 MINI_OP(OP_LBLE_UN, "long_ble_un")
+MINI_OP(OP_LBLT_UN, "long_blt_un")
 
 MINI_OP(OP_LONG_SHRUN_32, "long_shr_un_32")
 
@@ -337,26 +346,26 @@ MINI_OP(OP_ICLT,   "int_clt")
 MINI_OP(OP_ICLT_UN,"int_clt_un")
 
 MINI_OP(OP_IBEQ,    "int_beq")
-MINI_OP(OP_IBNE_UN, "int_bne_un")
-MINI_OP(OP_IBLT,    "int_blt")
-MINI_OP(OP_IBLT_UN, "int_blt_un")
-MINI_OP(OP_IBGT,    "int_bgt")
-MINI_OP(OP_IBGT_UN, "int_bgt_un")
 MINI_OP(OP_IBGE,    "int_bge")
-MINI_OP(OP_IBGE_UN, "int_bge_un")
+MINI_OP(OP_IBGT,    "int_bgt")
 MINI_OP(OP_IBLE,    "int_ble")
+MINI_OP(OP_IBLT,    "int_blt")
+MINI_OP(OP_IBNE_UN, "int_bne_un")
+MINI_OP(OP_IBGE_UN, "int_bge_un")
+MINI_OP(OP_IBGT_UN, "int_bgt_un")
 MINI_OP(OP_IBLE_UN, "int_ble_un")
+MINI_OP(OP_IBLT_UN, "int_blt_un")
 
 MINI_OP(OP_FBEQ,   "float_beq")
-MINI_OP(OP_FBNE_UN,"float_bne_un")
-MINI_OP(OP_FBLT,   "float_blt")
-MINI_OP(OP_FBLT_UN,"float_blt_un")
-MINI_OP(OP_FBGT,   "float_bgt")
-MINI_OP(OP_FBGT_UN,"float_btg_un")
 MINI_OP(OP_FBGE,   "float_bge")
-MINI_OP(OP_FBGE_UN,"float_bge_un")
+MINI_OP(OP_FBGT,   "float_bgt")
 MINI_OP(OP_FBLE,   "float_ble")
+MINI_OP(OP_FBLT,   "float_blt")
+MINI_OP(OP_FBNE_UN,"float_bne_un")
+MINI_OP(OP_FBGE_UN,"float_bge_un")
+MINI_OP(OP_FBGT_UN,"float_btg_un")
 MINI_OP(OP_FBLE_UN,"float_ble_un")
+MINI_OP(OP_FBLT_UN,"float_blt_un")
 
 /* float opcodes: must be in the same order as the matching CEE_ opcodes: binops_op_map */
 MINI_OP(OP_FADD,   "float_add")
@@ -438,11 +447,18 @@ MINI_OP(OP_UNBOXCAST  , "unboxcast")
 /* exception related opcodes */
 MINI_OP(OP_CALL_HANDLER  , "call_handler")
 MINI_OP(OP_START_HANDLER  , "start_handler")
-MINI_OP(OP_ENDFILTER,  "op_endfilter")
+MINI_OP(OP_ENDFILTER,  "endfilter")
+MINI_OP(OP_ENDFINALLY,  "endfinally")
 
 /* inline (long)int * (long)int */
-MINI_OP(OP_BIGMUL, "op_bigmul")
-MINI_OP(OP_BIGMUL_UN, "op_bigmul_un")
+MINI_OP(OP_BIGMUL, "bigmul")
+MINI_OP(OP_BIGMUL_UN, "bigmul_un")
+MINI_OP(OP_MIN, "min")
+MINI_OP(OP_MAX, "max")
+MINI_OP(OP_IMIN, "int_min")
+MINI_OP(OP_IMAX, "int_max")
+MINI_OP(OP_LMIN, "long_min")
+MINI_OP(OP_LMAX, "long_max")
 
 /* opcodes most architecture have */
 MINI_OP(OP_ADC,     "adc")
@@ -572,11 +588,13 @@ MINI_OP(OP_AMD64_ICOMPARE_MEMBASE_IMM,   "amd64_icompare_membase_imm")
 MINI_OP(OP_AMD64_ICOMPARE_REG_MEMBASE,   "amd64_icompare_reg_membase")
 MINI_OP(OP_AMD64_OUTARG_ALIGN_STACK,     "amd64_outarg_align_stack")
 MINI_OP(OP_AMD64_LOADI8_MEMINDEX,        "amd64_loadi8_memindex")
+MINI_OP(OP_AMD64_SAVE_SP_TO_LMF,         "amd64_save_sp_to_lmf")
 #endif
 
 #if  defined(__ppc__) || defined(__powerpc__)          
 MINI_OP(OP_PPC_SUBFIC,             "ppc_subfic")
 MINI_OP(OP_PPC_SUBFZE,             "ppc_subfze")
+MINI_OP(OP_CHECK_FINITE,           "ppc_check_finite")
 #endif
 
 #if defined(__arm__)
@@ -770,4 +788,93 @@ MINI_OP(OP_MIPS_SLT,   "mips_slt")
 MINI_OP(OP_MIPS_SLTIU, "mips_sltiu")
 MINI_OP(OP_MIPS_SLTU,  "mips_sltu")
 MINI_OP(OP_MIPS_XORI,  "mips_xori")
+
+MINI_OP(OP_MIPS_COND_EXC_EQ, "mips_cond_exc_eq")
+MINI_OP(OP_MIPS_COND_EXC_GE, "mips_cond_exc_ge")
+MINI_OP(OP_MIPS_COND_EXC_GT, "mips_cond_exc_gt")
+MINI_OP(OP_MIPS_COND_EXC_LE, "mips_cond_exc_le")
+MINI_OP(OP_MIPS_COND_EXC_LT, "mips_cond_exc_lt")
+MINI_OP(OP_MIPS_COND_EXC_NE_UN, "mips_cond_exc_ne_un")
+MINI_OP(OP_MIPS_COND_EXC_GE_UN, "mips_cond_exc_ge_un")
+MINI_OP(OP_MIPS_COND_EXC_GT_UN, "mips_cond_exc_gt_un")
+MINI_OP(OP_MIPS_COND_EXC_LE_UN, "mips_cond_exc_le_un")
+MINI_OP(OP_MIPS_COND_EXC_LT_UN, "mips_cond_exc_lt_un")
+
+MINI_OP(OP_MIPS_COND_EXC_OV, "mips_cond_exc_ov")
+MINI_OP(OP_MIPS_COND_EXC_NO, "mips_cond_exc_no")
+MINI_OP(OP_MIPS_COND_EXC_C, "mips_cond_exc_c")
+MINI_OP(OP_MIPS_COND_EXC_NC, "mips_cond_exc_nc")
+
+MINI_OP(OP_MIPS_COND_EXC_IEQ, "mips_cond_exc_ieq")
+MINI_OP(OP_MIPS_COND_EXC_IGE, "mips_cond_exc_ige")
+MINI_OP(OP_MIPS_COND_EXC_IGT, "mips_cond_exc_igt")
+MINI_OP(OP_MIPS_COND_EXC_ILE, "mips_cond_exc_ile")
+MINI_OP(OP_MIPS_COND_EXC_ILT, "mips_cond_exc_ilt")
+MINI_OP(OP_MIPS_COND_EXC_INE_UN, "mips_cond_exc_ine_un")
+MINI_OP(OP_MIPS_COND_EXC_IGE_UN, "mips_cond_exc_ige_un")
+MINI_OP(OP_MIPS_COND_EXC_IGT_UN, "mips_cond_exc_igt_un")
+MINI_OP(OP_MIPS_COND_EXC_ILE_UN, "mips_cond_exc_ile_un")
+MINI_OP(OP_MIPS_COND_EXC_ILT_UN, "mips_cond_exc_ilt_un")
+
+MINI_OP(OP_MIPS_COND_EXC_IOV, "mips_cond_exc_iov")
+MINI_OP(OP_MIPS_COND_EXC_INO, "mips_cond_exc_ino")
+MINI_OP(OP_MIPS_COND_EXC_IC, "mips_cond_exc_ic")
+MINI_OP(OP_MIPS_COND_EXC_INC, "mips_cond_exc_inc")
+
+#endif
+
+#if defined(__hppa)
+MINI_OP(OP_HPPA_BEQ, "hppa_beq")
+MINI_OP(OP_HPPA_BGE, "hppa_bge")
+MINI_OP(OP_HPPA_BGT, "hppa_bgt")
+MINI_OP(OP_HPPA_BLE, "hppa_ble")
+MINI_OP(OP_HPPA_BLT, "hppa_blt")
+MINI_OP(OP_HPPA_BNE, "hppa_bne")
+MINI_OP(OP_HPPA_BGE_UN, "hppa_bge_un")
+MINI_OP(OP_HPPA_BGT_UN, "hppa_bgt_un")
+MINI_OP(OP_HPPA_BLE_UN, "hppa_ble_un")
+MINI_OP(OP_HPPA_BLT_UN, "hppa_blt_un")
+
+MINI_OP(OP_HPPA_CEQ, "hppa_ceq")
+MINI_OP(OP_HPPA_CGT, "hppa_cgt")
+MINI_OP(OP_HPPA_CGT_UN, "hppa_cgt_un")
+MINI_OP(OP_HPPA_CLT, "hppa_clt")
+MINI_OP(OP_HPPA_CLT_UN, "hppa_clt_un")
+
+MINI_OP(OP_HPPA_CEQ_IMM, "hppa_ceq_imm")
+MINI_OP(OP_HPPA_CGT_IMM, "hppa_cgt_imm")
+MINI_OP(OP_HPPA_CGT_UN_IMM, "hppa_cgt_un_imm")
+MINI_OP(OP_HPPA_CLT_IMM, "hppa_clt_imm")
+MINI_OP(OP_HPPA_CLT_UN_IMM, "hppa_clt_un_imm")
+
+MINI_OP(OP_HPPA_COND_EXC_EQ, "hppa_cond_exc_eq")
+MINI_OP(OP_HPPA_COND_EXC_GE, "hppa_cond_exc_ge")
+MINI_OP(OP_HPPA_COND_EXC_GT, "hppa_cond_exc_gt")
+MINI_OP(OP_HPPA_COND_EXC_LE, "hppa_cond_exc_le")
+MINI_OP(OP_HPPA_COND_EXC_LT, "hppa_cond_exc_lt")
+MINI_OP(OP_HPPA_COND_EXC_NE_UN, "hppa_cond_exc_ne_un")
+MINI_OP(OP_HPPA_COND_EXC_GE_UN, "hppa_cond_exc_ge_un")
+MINI_OP(OP_HPPA_COND_EXC_GT_UN, "hppa_cond_exc_gt_un")
+MINI_OP(OP_HPPA_COND_EXC_LE_UN, "hppa_cond_exc_le_un")
+MINI_OP(OP_HPPA_COND_EXC_LT_UN, "hppa_cond_exc_lt_un")
+MINI_OP(OP_HPPA_COND_EXC_OV, "hppa_cond_exc_ov")
+MINI_OP(OP_HPPA_COND_EXC_NO, "hppa_cond_exc_no")
+MINI_OP(OP_HPPA_COND_EXC_C, "hppa_cond_exc_c")
+MINI_OP(OP_HPPA_COND_EXC_NC, "hppa_cond_exc_nc")
+
+MINI_OP(OP_HPPA_XMPYU, "hppa_xmpyu")
+MINI_OP(OP_HPPA_ADD_OVF, "hppa_add_ovf")
+MINI_OP(OP_HPPA_SUB_OVF, "hppa_sub_ovf")
+MINI_OP(OP_HPPA_ADDC_OVF, "hppa_addc_ovf")
+MINI_OP(OP_HPPA_SUBB_OVF, "hppa_subb_ovf")
+
+MINI_OP(OP_HPPA_OUTARG_R4CONST, "hppa_outarg_r4const")
+MINI_OP(OP_HPPA_OUTARG_REGOFFSET, "hppa_outarg_regoffset")
+
+MINI_OP(OP_HPPA_LOADR4_LEFT, "hppa_loadr4_left")
+MINI_OP(OP_HPPA_LOADR4_RIGHT, "hppa_loadr4_right")
+MINI_OP(OP_HPPA_STORER4_LEFT, "hppa_storer4_left")
+MINI_OP(OP_HPPA_STORER4_RIGHT, "hppa_storer4_right")
+
+MINI_OP(OP_HPPA_SETF4REG, "hppa_setf4reg")
 #endif