2008-06-13 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / cpu-x86.md
index fde2b545ddef5e8da60da6d1adc82fb7c2cb358c..605f3721b4c67ab0c0ec13f49ebd381093b81c02 100644 (file)
 break: len:1
 jmp: len:32
 call: dest:a clob:c len:17
-ret: len:1
 br: len:5
-beq: len:6
-bge: len:6
-bgt: len:6
-ble: len:6
-blt: len:6
-bne.un: len:6
-bge.un: len:6
-bgt.un: len:6
-ble.un: len:6
-blt.un: len:6
+int_beq: len:6
+int_bge: len:6
+int_bgt: len:6
+int_ble: len:6
+int_blt: len:6
+int_bne_un: len:6
+int_bge_un: len:6
+int_bgt_un: len:6
+int_ble_un: len:6
+int_blt_un: len:6
 label: len:0
-add: dest:i src1:i src2:i len:2 clob:1
-sub: dest:i src1:i src2:i len:2 clob:1
-mul: dest:i src1:i src2:i len:3 clob:1
-div: dest:a src1:a src2:i len:15 clob:d
-div.un: dest:a src1:a src2:i len:15 clob:d
-rem: dest:d src1:a src2:i len:15 clob:a
-rem.un: dest:d src1:a src2:i len:15 clob:a
-and: dest:i src1:i src2:i len:2 clob:1
-or: dest:i src1:i src2:i len:2 clob:1
-xor: dest:i src1:i src2:i len:2 clob:1
-shl: dest:i src1:i src2:s clob:1 len:2
-shr: dest:i src1:i src2:s clob:1 len:2
-shr.un: dest:i src1:i src2:s clob:1 len:2
-neg: dest:i src1:i len:2 clob:1
-not: dest:i src1:i len:2 clob:1
-conv.i1: dest:i src1:y len:3
-conv.i2: dest:i src1:i len:3
-conv.i4: dest:i src1:i len:2
-conv.r4: dest:f src1:i len:7
-conv.r8: dest:f src1:i len:7
-conv.u4: dest:i src1:i
-conv.u2: dest:i src1:i len:3
-conv.u1: dest:i src1:y len:3
-conv.i: dest:i src1:i len:3
 
+int_add: dest:i src1:i src2:i len:2 clob:1
+int_sub: dest:i src1:i src2:i len:2 clob:1
+int_mul: dest:i src1:i src2:i len:3 clob:1
+int_div: dest:a src1:a src2:i len:15 clob:d
+int_div_un: dest:a src1:a src2:i len:15 clob:d
+int_rem: dest:d src1:a src2:i len:15 clob:a
+int_rem_un: dest:d src1:a src2:i len:15 clob:a
+int_and: dest:i src1:i src2:i len:2 clob:1
+int_or: dest:i src1:i src2:i len:2 clob:1
 int_xor: dest:i src1:i src2:i len:2 clob:1
+int_shl: dest:i src1:i src2:s clob:1 len:2
+int_shr: dest:i src1:i src2:s clob:1 len:2
+int_shr_un: dest:i src1:i src2:s clob:1 len:2
+int_min: dest:i src1:i src2:i len:16 clob:1
+int_min_un: dest:i src1:i src2:i len:16 clob:1
+int_max: dest:i src1:i src2:i len:16 clob:1
+int_max_un: dest:i src1:i src2:i len:16 clob:1
+
+int_neg: dest:i src1:i len:2 clob:1
+int_not: dest:i src1:i len:2 clob:1
+int_conv_to_i1: dest:i src1:y len:3
+int_conv_to_i2: dest:i src1:i len:3
+int_conv_to_i4: dest:i src1:i len:2
+int_conv_to_r4: dest:f src1:i len:7
+int_conv_to_r8: dest:f src1:i len:7
+int_conv_to_u4: dest:i src1:i
+int_conv_to_u2: dest:i src1:i len:3
+int_conv_to_u1: dest:i src1:y len:3
+int_conv_to_i: dest:i src1:i len:3
+int_mul_ovf: dest:i src1:i src2:i clob:1 len:9
+int_mul_ovf_un: dest:i src1:i src2:i len:16
 
 throw: src1:i len:13
 rethrow: src1:i len:13
@@ -106,10 +111,6 @@ endfinally: len:16
 endfilter: src1:a len:16
 
 ckfinite: dest:f src1:f len:32
-mul.ovf: dest:i src1:i src2:i clob:1 len:9
-# this opcode is handled specially in the code generator
-mul.ovf.un: dest:i src1:i src2:i len:16
-conv.u: dest:i src1:i len:3
 ceq: dest:y len:6
 cgt: dest:y len:6
 cgt.un: dest:y len:6
@@ -214,7 +215,7 @@ float_bne_un: len:18
 float_blt: len:12
 float_blt_un: len:20
 float_bgt: len:12
-float_btg_un: len:20
+float_bgt_un: len:20
 float_bge: len:22
 float_bge_un: len:12
 float_ble: len:22
@@ -278,9 +279,11 @@ x86_fp_load_i8: dest:f src1:b len:7
 x86_fp_load_i4: dest:f src1:b len:7
 x86_seteq_membase: src1:b len:7
 x86_setne_membase: src1:b len:7
-x86_add_membase: dest:i src1:i src2:b clob:1 len:11
-x86_sub_membase: dest:i src1:i src2:b clob:1 len:11
-x86_mul_membase: dest:i src1:i src2:b clob:1 len:13
+
+x86_add_reg_membase: dest:i src1:i src2:b clob:1 len:11
+x86_sub_reg_membase: dest:i src1:i src2:b clob:1 len:11
+x86_mul_reg_membase: dest:i src1:i src2:b clob:1 len:13
+
 adc: dest:i src1:i src2:i len:2 clob:1
 addcc: dest:i src1:i src2:i len:2 clob:1
 subcc: dest:i src1:i src2:i len:2 clob:1
@@ -301,6 +304,7 @@ sext_i2: dest:i src1:y len:3
 tls_get: dest:i len:20
 atomic_add_i4: src1:b src2:i dest:i len:16
 atomic_add_new_i4: src1:b src2:i dest:i len:16
-atomic_exchange_i4: src1:b src2:i dest:i len:24
+atomic_exchange_i4: src1:b src2:i dest:a len:24
+atomic_cas_imm_i4: src1:b src2:i dest:a len:24
 memory_barrier: len:16