Merge pull request #1412 from esdrubal/stackframe
[mono.git] / mono / mini / cpu-ppc64.md
index 92d2c6100ef78b2425d59aea2a4bbebd068274f4..dc6ac728ab435698dd1566cfae5513e96c9f5a36 100644 (file)
 memory_barrier: len:4
 nop: len:4
 relaxed_nop: len:4
-break: len:4
-jmp: len:92
+break: len:40
+seq_point: len:48
+il_seq_point: len:0
+jmp: len:96
 call: dest:a clob:c len:36
 br: len:4
 throw: src1:i len:40
-rethrow: src1:i len:20
+rethrow: src1:i len:40
 ckfinite: dest:f src1:f
 ppc_check_finite: src1:i len:16
 add_ovf_carry: dest:i src1:i src2:i len:16
@@ -61,7 +63,7 @@ sub_ovf_carry: dest:i src1:i src2:i len:16
 add_ovf_un_carry: dest:i src1:i src2:i len:16
 sub_ovf_un_carry: dest:i src1:i src2:i len:16
 start_handler: len:16
-endfinally: len:12
+endfinally: len:20
 ceq: dest:i len:12
 cgt: dest:i len:12
 cgt.un: dest:i len:12
@@ -76,22 +78,22 @@ setlret: src1:i src2:i len:12
 checkthis: src1:b len:4
 voidcall: len:36 clob:c
 voidcall_reg: src1:i len:16 clob:c
-voidcall_membase: src1:b len:12 clob:c
+voidcall_membase: src1:b len:16 clob:c
 fcall: dest:g len:36 clob:c
 fcall_reg: dest:g src1:i len:16 clob:c
-fcall_membase: dest:g src1:b len:12 clob:c
+fcall_membase: dest:g src1:b len:16 clob:c
 lcall: dest:a len:36 clob:c
 lcall_reg: dest:a src1:i len:16 clob:c
-lcall_membase: dest:a src1:b len:12 clob:c
+lcall_membase: dest:a src1:b len:16 clob:c
 vcall: len:16 clob:c
 vcall_reg: src1:i len:16 clob:c
 vcall_membase: src1:b len:12 clob:c
 call_reg: dest:a src1:i len:16 clob:c
-call_membase: dest:a src1:b len:12 clob:c
+call_membase: dest:a src1:b len:16 clob:c
 iconst: dest:i len:20
 i8const: dest:i len:20
 r4const: dest:f len:12
-r8const: dest:f len:12
+r8const: dest:f len:24
 label: len:0
 store_membase_reg: dest:b src1:i len:12
 storei1_membase_reg: dest:b src1:i len:12
@@ -117,13 +119,15 @@ loadi2_memindex: dest:i src1:b src2:i len:4
 loadu2_memindex: dest:i src1:b src2:i len:4
 loadi4_memindex: dest:i src1:b src2:i len:4
 loadu4_memindex: dest:i src1:b src2:i len:4
+loadi8_memindex: dest:i src1:b src2:i len:4
 loadr4_memindex: dest:f src1:b src2:i len:4
 loadr8_memindex: dest:f src1:b src2:i len:4
 store_memindex: dest:b src1:i src2:i len:4
 storei1_memindex: dest:b src1:i src2:i len:4
 storei2_memindex: dest:b src1:i src2:i len:4
 storei4_memindex: dest:b src1:i src2:i len:4
-storer4_memindex: dest:b src1:i src2:i len:4
+storei8_memindex: dest:b src1:i src2:i len:4
+storer4_memindex: dest:b src1:i src2:i len:8
 storer8_memindex: dest:b src1:i src2:i len:4
 loadu4_mem: dest:i len:8
 move: dest:i src1:i len:4
@@ -196,9 +200,11 @@ float_cgt_un: dest:i src1:f src2:f len:20
 float_clt: dest:i src1:f src2:f len:16
 float_clt_un: dest:i src1:f src2:f len:20
 float_conv_to_u: dest:i src1:f len:36
-call_handler: len:12
-endfilter: src1:i len:16
+call_handler: len:12 clob:c
+endfilter: src1:i len:20
 aot_const: dest:i len:8
+load_gotaddr: dest:i len:32
+got_entry: dest:i src1:b len:32
 sqrt: dest:f src1:f len:4
 adc: dest:i src1:i src2:i len:4
 addcc: dest:i src1:i src2:i len:4
@@ -213,7 +219,7 @@ bigmul_un: len:12 dest:i src1:i src2:i
 tls_get: len:8 dest:i
 
 # Linear IR opcodes
-dummy_use: len:0
+dummy_use: src1:i len:0
 dummy_store: len:0
 not_reached: len:0
 not_null: src1:i len:0
@@ -238,9 +244,9 @@ int_conv_to_i1: dest:i src1:i len:8
 int_conv_to_i2: dest:i src1:i len:8
 int_conv_to_i4: dest:i src1:i len:4
 sext_i4: dest:i src1:i len:4
-int_conv_to_r4: dest:f src1:i len:36
-int_conv_to_r8: dest:f src1:i len:36
-int_conv_to_u4: dest:i src1:i
+int_conv_to_r4: dest:f src1:i len:20
+int_conv_to_r8: dest:f src1:i len:16
+int_conv_to_u4: dest:i src1:i len:4
 int_conv_to_u2: dest:i src1:i len:8
 int_conv_to_u1: dest:i src1:i len:4
 int_beq: len:8
@@ -267,7 +273,7 @@ int_sbb: dest:i src1:i src2:i len:4
 int_adc_imm: dest:i src1:i len:12
 int_sbb_imm: dest:i src1:i len:12
 
-int_add_imm: dest:i src1:i len:12
+int_add_imm: dest:i src1:i len:4
 int_sub_imm: dest:i src1:i len:12
 int_mul_imm: dest:i src1:i len:12
 int_div_imm: dest:i src1:i len:20
@@ -309,6 +315,7 @@ icompare_imm: src1:i len:12
 long_add: dest:i src1:i src2:i len:4
 long_sub: dest:i src1:i src2:i len:4
 long_mul: dest:i src1:i src2:i len:4
+long_mul_imm: dest:i src1:i len:4
 long_div: dest:i src1:i src2:i len:40
 long_div_un: dest:i src1:i src2:i len:16
 long_rem: dest:i src1:i src2:i len:48
@@ -327,8 +334,8 @@ long_not: dest:i src1:i len:4
 long_conv_to_i1: dest:i src1:i len:4
 long_conv_to_i2: dest:i src1:i len:4
 long_conv_to_i4: dest:i src1:i len:4
-long_conv_to_r4: dest:f src1:i len:36
-long_conv_to_r8: dest:f src1:i len:36
+long_conv_to_r4: dest:f src1:i len:16
+long_conv_to_r8: dest:f src1:i len:12
 long_conv_to_u4: dest:i src1:i
 long_conv_to_u2: dest:i src1:i len:4
 long_conv_to_u1: dest:i src1:i len:4
@@ -368,9 +375,13 @@ lcompare_imm: src1:i len:12
 
 #long_conv_to_ovf_i4_2: dest:i src1:i src2:i len:30
 
-vcall2: len:20 clob:c
-vcall2_reg: src1:i len:8 clob:c
-vcall2_membase: src1:b len:12 clob:c
+vcall2: len:36 clob:c
+vcall2_reg: src1:i len:16 clob:c
+vcall2_membase: src1:b len:16 clob:c
 
 jump_table: dest:i len:20
 
+atomic_add_i4: src1:b src2:i dest:i len:28
+atomic_add_i8: src1:b src2:i dest:i len:28
+atomic_cas_i4: src1:b src2:i src3:i dest:i len:38
+atomic_cas_i8: src1:b src2:i src3:i dest:i len:38