2008-01-26 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / mini-ops.h
index 7bb66befb8557a1df750e72d9a0b21f4402e7f2a..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")
@@ -144,6 +153,22 @@ MINI_OP(OP_COND_EXC_NO, "cond_exc_no")
 MINI_OP(OP_COND_EXC_C, "cond_exc_c")
 MINI_OP(OP_COND_EXC_NC, "cond_exc_nc")
 
+MINI_OP(OP_COND_EXC_IEQ, "cond_exc_ieq")
+MINI_OP(OP_COND_EXC_IGE, "cond_exc_ige")
+MINI_OP(OP_COND_EXC_IGT, "cond_exc_igt")
+MINI_OP(OP_COND_EXC_ILE, "cond_exc_ile")
+MINI_OP(OP_COND_EXC_ILT, "cond_exc_ilt")
+MINI_OP(OP_COND_EXC_INE_UN, "cond_exc_ine_un")
+MINI_OP(OP_COND_EXC_IGE_UN, "cond_exc_ige_un")
+MINI_OP(OP_COND_EXC_IGT_UN, "cond_exc_igt_un")
+MINI_OP(OP_COND_EXC_ILE_UN, "cond_exc_ile_un")
+MINI_OP(OP_COND_EXC_ILT_UN, "cond_exc_ilt_un")
+
+MINI_OP(OP_COND_EXC_IOV, "cond_exc_iov")
+MINI_OP(OP_COND_EXC_INO, "cond_exc_ino")
+MINI_OP(OP_COND_EXC_IC, "cond_exc_ic")
+MINI_OP(OP_COND_EXC_INC, "cond_exc_inc")
+
 /* 64 bit opcodes: must be in the same order as the matching CEE_ opcodes: binops_op_map */
 MINI_OP(OP_LADD,    "long_add")
 MINI_OP(OP_LSUB,    "long_sub")
@@ -219,22 +244,22 @@ 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")
 
-/* 32 bit opcodes on 64 bit machines */
+/* 32 bit opcodes: must be in the same order as the matching CEE_ opcodes: binops_op_map */
 MINI_OP(OP_IADD,    "int_add")
 MINI_OP(OP_ISUB,    "int_sub")
 MINI_OP(OP_IMUL,    "int_mul")
-MINI_OP(OP_IMUL_OVF,    "int_mul_ovf")
-MINI_OP(OP_IMUL_OVF_UN, "int_mul_ovf_un")
 MINI_OP(OP_IDIV,    "int_div")
 MINI_OP(OP_IDIV_UN, "int_div_un")
 MINI_OP(OP_IREM,    "int_rem")
@@ -245,6 +270,54 @@ MINI_OP(OP_IXOR,    "int_xor")
 MINI_OP(OP_ISHL,    "int_shl")
 MINI_OP(OP_ISHR,    "int_shr")
 MINI_OP(OP_ISHR_UN, "int_shr_un")
+
+/* 32 bit opcodes: must be in the same order as the matching CEE_ opcodes: unops_op_map */
+MINI_OP(OP_INEG,       "int_neg")
+MINI_OP(OP_INOT,       "int_not")
+MINI_OP(OP_ICONV_TO_I1,"int_conv_to_i1")
+MINI_OP(OP_ICONV_TO_I2,"int_conv_to_i2")
+MINI_OP(OP_ICONV_TO_I4,"int_conv_to_i4")
+MINI_OP(OP_ICONV_TO_I8,"int_conv_to_i8")
+MINI_OP(OP_ICONV_TO_R4,"int_conv_to_r4")
+MINI_OP(OP_ICONV_TO_R8,"int_conv_to_r8")
+MINI_OP(OP_ICONV_TO_U4,"int_conv_to_u4")
+MINI_OP(OP_ICONV_TO_U8,"int_conv_to_u8")
+
+/* 32 bit opcodes: must be in the same order as the matching CEE_ opcodes: ovfops_op_map */
+MINI_OP(OP_ICONV_TO_U2,   "int_conv_to_u2")
+MINI_OP(OP_ICONV_TO_U1,   "int_conv_to_u1")
+MINI_OP(OP_ICONV_TO_I,    "int_conv_to_i")
+MINI_OP(OP_ICONV_TO_OVF_I,"int_conv_to_ovf_i")
+MINI_OP(OP_ICONV_TO_OVF_U,"int_conv_to_ovf_u")
+MINI_OP(OP_IADD_OVF,      "int_add_ovf")
+MINI_OP(OP_IADD_OVF_UN,   "int_add_ovf_un")
+MINI_OP(OP_IMUL_OVF,      "int_mul_ovf")
+MINI_OP(OP_IMUL_OVF_UN,   "int_mul_ovf_un")
+MINI_OP(OP_ISUB_OVF,      "int_sub_ovf")
+MINI_OP(OP_ISUB_OVF_UN,   "int_sub_ovf_un")
+
+/* 32 bit opcodes: must be in the same order as the matching CEE_ opcodes: ovf2ops_op_map */
+MINI_OP(OP_ICONV_TO_OVF_I1_UN,"int_conv_to_ovf_i1_un")
+MINI_OP(OP_ICONV_TO_OVF_I2_UN,"int_conv_to_ovf_i2_un")
+MINI_OP(OP_ICONV_TO_OVF_I4_UN,"int_conv_to_ovf_i4_un")
+MINI_OP(OP_ICONV_TO_OVF_I8_UN,"int_conv_to_ovf_i8_un")
+MINI_OP(OP_ICONV_TO_OVF_U1_UN,"int_conv_to_ovf_u1_un")
+MINI_OP(OP_ICONV_TO_OVF_U2_UN,"int_conv_to_ovf_u2_un")
+MINI_OP(OP_ICONV_TO_OVF_U4_UN,"int_conv_to_ovf_u4_un")
+MINI_OP(OP_ICONV_TO_OVF_U8_UN,"int_conv_to_ovf_u8_un")
+MINI_OP(OP_ICONV_TO_OVF_I_UN, "int_conv_to_ovf_i_un")
+MINI_OP(OP_ICONV_TO_OVF_U_UN, "int_conv_to_ovf_u_un")
+
+/* 32 bit opcodes: must be in the same order as the matching CEE_ opcodes: ovf3ops_op_map */
+MINI_OP(OP_ICONV_TO_OVF_I1,"int_conv_to_ovf_i1")
+MINI_OP(OP_ICONV_TO_OVF_U1,"int_conv_to_ovf_u1")
+MINI_OP(OP_ICONV_TO_OVF_I2,"int_conv_to_ovf_i2")
+MINI_OP(OP_ICONV_TO_OVF_U2,"int_conv_to_ovf_u2")
+MINI_OP(OP_ICONV_TO_OVF_I4,"int_conv_to_ovf_i4")
+MINI_OP(OP_ICONV_TO_OVF_U4,"int_conv_to_ovf_u4")
+MINI_OP(OP_ICONV_TO_OVF_I8,"int_conv_to_ovf_i8")
+MINI_OP(OP_ICONV_TO_OVF_U8,"int_conv_to_ovf_u8")
+
 MINI_OP(OP_IADC,     "int_adc")
 MINI_OP(OP_IADC_IMM, "int_adc_imm")
 MINI_OP(OP_ISBB,     "int_sbb")
@@ -266,9 +339,6 @@ MINI_OP(OP_ISHL_IMM,    "int_shl_imm")
 MINI_OP(OP_ISHR_IMM,    "int_shr_imm")
 MINI_OP(OP_ISHR_UN_IMM, "int_shr_un_imm")
 
-MINI_OP(OP_INEG,       "int_neg")
-MINI_OP(OP_INOT,       "int_not")
-
 MINI_OP(OP_ICEQ,   "int_ceq")
 MINI_OP(OP_ICGT,   "int_cgt")
 MINI_OP(OP_ICGT_UN,"int_cgt_un")
@@ -276,31 +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_COND_EXC_IOV, "cond_exc_iov")
-MINI_OP(OP_COND_EXC_IC, "cond_exc_ic")
+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_LONG_SHRUN_32, "long_shr_un_32")
+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")
@@ -382,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")
@@ -420,6 +492,7 @@ MINI_OP(OP_ATAN,    "atan")
 MINI_OP(OP_SQRT,    "sqrt")
 /* to optimize strings */
 MINI_OP(OP_GETCHR, "getchar")
+MINI_OP(OP_STR_CHAR_ADDR, "str_char_addr")
 MINI_OP(OP_STRLEN, "strlen")
 MINI_OP(OP_GETTYPE, "gettype")
 MINI_OP(OP_GETHASHCODE, "gethashcode")
@@ -467,7 +540,8 @@ MINI_OP(OP_ATOMIC_ADD_IMM_NEW_I8, "atomic_add_imm_new_i8")
 MINI_OP(OP_ATOMIC_EXCHANGE_I8, "atomic_exchange_i8")
 MINI_OP(OP_MEMORY_BARRIER, "memory_barrier")
 
-/* x86 specific */
+/* Arch specific opcodes */
+#if defined(__i386__) || defined(__x86_64__)
 MINI_OP(OP_X86_TEST_NULL,          "x86_test_null")
 MINI_OP(OP_X86_COMPARE_MEMBASE_REG,"x86_compare_membase_reg")
 MINI_OP(OP_X86_COMPARE_MEMBASE_IMM,"x86_compare_membase_imm")
@@ -480,6 +554,9 @@ MINI_OP(OP_X86_DEC_REG,            "x86_dec_reg")
 MINI_OP(OP_X86_DEC_MEMBASE,        "x86_dec_membase")
 MINI_OP(OP_X86_ADD_MEMBASE_IMM,    "x86_add_membase_imm")
 MINI_OP(OP_X86_SUB_MEMBASE_IMM,    "x86_sub_membase_imm")
+MINI_OP(OP_X86_AND_MEMBASE_IMM,    "x86_and_membase_imm")
+MINI_OP(OP_X86_OR_MEMBASE_IMM,     "x86_or_membase_imm")
+MINI_OP(OP_X86_XOR_MEMBASE_IMM,    "x86_xor_membase_imm")
 MINI_OP(OP_X86_PUSH_MEMBASE,       "x86_push_membase")
 MINI_OP(OP_X86_PUSH_IMM,           "x86_push_imm")
 MINI_OP(OP_X86_PUSH,               "x86_push")
@@ -497,7 +574,10 @@ MINI_OP(OP_X86_SETNE_MEMBASE,      "x86_setne_membase")
 MINI_OP(OP_X86_ADD_MEMBASE,        "x86_add_membase")
 MINI_OP(OP_X86_SUB_MEMBASE,        "x86_sub_membase")
 MINI_OP(OP_X86_MUL_MEMBASE,        "x86_mul_membase")
+MINI_OP(OP_X86_OUTARG_ALIGN_STACK,     "x86_outarg_align_stack")
+#endif
 
+#if defined(__x86_64__)
 MINI_OP(OP_AMD64_TEST_NULL,              "amd64_test_null")
 MINI_OP(OP_AMD64_SET_XMMREG_R4,          "amd64_set_xmmreg_r4")
 MINI_OP(OP_AMD64_SET_XMMREG_R8,          "amd64_set_xmmreg_r8")
@@ -508,13 +588,21 @@ 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__)
 MINI_OP(OP_ARM_RSBS_IMM,            "arm_rsbs_imm")
 MINI_OP(OP_ARM_RSC_IMM,             "arm_rsc_imm")
+#endif
 
+#if defined(__sparc__) || defined(sparc)
 MINI_OP(OP_SPARC_OUTARG_REGPAIR,   "sparc_outarg_regpair")
 MINI_OP(OP_SPARC_OUTARG_MEM,       "sparc_outarg_mem")
 MINI_OP(OP_SPARC_OUTARG_MEMPAIR,   "sparc_outarg_mempair")
@@ -538,14 +626,19 @@ MINI_OP(OP_SPARC_COND_EXC_GTZ,     "sparc_cond_exc_gtz")
 MINI_OP(OP_SPARC_COND_EXC_LEZ,     "sparc_cond_exc_lez")
 MINI_OP(OP_SPARC_COND_EXC_LTZ,     "sparc_cond_exc_ltz")
 MINI_OP(OP_SPARC_COND_EXC_NEZ,     "sparc_cond_exc_nez")
+#endif
 
-
+#if defined(__s390__) || defined(s390)
 MINI_OP(OP_S390_LOADARG,          "s390_loadarg")
+MINI_OP(OP_S390_ARGREG,           "s390_argreg")
 MINI_OP(OP_S390_ARGPTR,           "s390_argptr")
 MINI_OP(OP_S390_STKARG,           "s390_stkarg")
 MINI_OP(OP_S390_MOVE,             "s390_move")
 MINI_OP(OP_S390_SETF4RET,         "s390_setf4ret")
+MINI_OP(OP_S390_BKCHAIN,          "s390_bkchain")
+#endif
 
+#if defined(__ia64__)
 MINI_OP(OP_IA64_LOAD,          "ia64_load")
 MINI_OP(OP_IA64_LOADI1,        "ia64_loadi1")
 MINI_OP(OP_IA64_LOADU1,        "ia64_loadu1")
@@ -642,5 +735,146 @@ MINI_OP(OP_IA64_LOADU4_MEMBASE_INC,"ia64_loadu4_membase_inc")
 MINI_OP(OP_IA64_LOADI8_MEMBASE_INC,"ia64_loadi8_membase_inc")
 MINI_OP(OP_IA64_LOADR4_MEMBASE_INC,"ia64_loadr4_membase_inc")
 MINI_OP(OP_IA64_LOADR8_MEMBASE_INC,"ia64_loadr8_membase_inc")
-MINI_OP(OP_IA64_FETCHADD4_IMM,   "ia64_fetchadd4_imm")
-MINI_OP(OP_IA64_FETCHADD8_IMM,   "ia64_fetchadd8_imm")
+#endif
+
+#if defined(__alpha__)
+MINI_OP(OP_ALPHA_CMP_EQ, "alpha_cmp_eq")
+MINI_OP(OP_ALPHA_CMP_IMM_EQ, "alpha_cmp_imm_eq")
+MINI_OP(OP_ALPHA_CMP_ULT, "alpha_cmp_ult")
+MINI_OP(OP_ALPHA_CMP_IMM_ULT, "alpha_cmp_imm_ult")
+MINI_OP(OP_ALPHA_CMP_ULE, "alpha_cmp_ule")
+MINI_OP(OP_ALPHA_CMP_IMM_ULE, "alpha_cmp_imm_ule")
+MINI_OP(OP_ALPHA_CMP_LT, "alpha_cmp_lt")
+MINI_OP(OP_ALPHA_CMP_IMM_LT, "alpha_cmp_imm_lt")
+MINI_OP(OP_ALPHA_CMP_LE, "alpha_cmp_le")
+MINI_OP(OP_ALPHA_CMP_IMM_LE, "alpha_cmp_imm_le")
+
+MINI_OP(OP_ALPHA_CMPT_EQ, "alpha_cmpt_eq")
+MINI_OP(OP_ALPHA_CMPT_EQ_SU, "alpha_cmpt_eq_su")
+MINI_OP(OP_ALPHA_CMPT_LT, "alpha_cmpt_lt")
+MINI_OP(OP_ALPHA_CMPT_LT_SU, "alpha_cmpt_lt_su")
+MINI_OP(OP_ALPHA_CMPT_LE, "alpha_cmpt_le")
+MINI_OP(OP_ALPHA_CMPT_LE_SU, "alpha_cmpt_le_su")
+MINI_OP(OP_ALPHA_CMPT_UN, "alpha_cmpt_un")
+MINI_OP(OP_ALPHA_CMPT_UN_SU, "alpha_cmpt_un_su")
+MINI_OP(OP_ALPHA_TRAPB, "alpha_trapb")
+
+#endif
+
+#if defined(__mips__)
+MINI_OP(OP_MIPS_BEQ,   "mips_beq")
+MINI_OP(OP_MIPS_BGEZ,  "mips_bgez")
+MINI_OP(OP_MIPS_BGTZ,  "mips_bgtz")
+MINI_OP(OP_MIPS_BLEZ,  "mips_blez")
+MINI_OP(OP_MIPS_BLTZ,  "mips_bltz")
+MINI_OP(OP_MIPS_BNE,   "mips_bne")
+MINI_OP(OP_MIPS_CVTSD, "mips_cvtsd")
+MINI_OP(OP_MIPS_FBEQ,  "mips_fbeq")
+MINI_OP(OP_MIPS_FBGE,  "mips_fbge")
+MINI_OP(OP_MIPS_FBGT,  "mips_fbgt")
+MINI_OP(OP_MIPS_FBLE,  "mips_fble")
+MINI_OP(OP_MIPS_FBLT,  "mips_fblt")
+MINI_OP(OP_MIPS_FBNE,  "mips_fbne")
+MINI_OP(OP_MIPS_FBFALSE, "mips_fbfalse")
+MINI_OP(OP_MIPS_FBTRUE, "mips_fbtrue")
+MINI_OP(OP_MIPS_LWC1,  "mips_lwc1")
+MINI_OP(OP_MIPS_MTC1S, "mips_mtc1_s")
+MINI_OP(OP_MIPS_MFC1S, "mips_mfc1_s")
+MINI_OP(OP_MIPS_MTC1D, "mips_mtc1_d")
+MINI_OP(OP_MIPS_MFC1D, "mips_mfc1_d")
+MINI_OP(OP_MIPS_NOP,   "mips_nop")
+MINI_OP(OP_MIPS_SLTI,  "mips_slti")
+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