X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fcpu-ia64.md;h=0bae69301bd1ba0eab51d6cf33e51a0ce8cfd76c;hb=e1849e070703c17113eea43e475431d5bd224c53;hp=90ffe3334bf44566e91e33b80e7cd4172ee988bc;hpb=3d693eeb90339833968d66c3dc9fde2fa3ba2cef;p=mono.git diff --git a/mono/mini/cpu-ia64.md b/mono/mini/cpu-ia64.md index 90ffe3334bf..0bae69301bd 100644 --- a/mono/mini/cpu-ia64.md +++ b/mono/mini/cpu-ia64.md @@ -4,57 +4,13 @@ # since there are no short branches. # -label: +label: len:0 break: len:48 -jmp: len:48 +jmp: len:128 br: len:48 -beq: len:48 -bge: len:48 -bgt: len:48 -ble: len:48 -blt: len:48 -bne.un: len:48 -bge.un: len:48 -bgt.un: len:48 -ble.un: len:48 -blt.un: len:48 -add: dest:i src1:i src2:i len:48 -sub: dest:i src1:i src2:i len:48 -mul: dest:i src1:i src2:i len:48 -div: dest:a src1:a src2:i len:48 clob:d -div.un: dest:a src1:a src2:i len:48 clob:d -rem: dest:d src1:a src2:i len:48 clob:a -rem.un: dest:d src1:a src2:i len:48 clob:a -and: dest:i src1:i src2:i len:48 -or: dest:i src1:i src2:i len:48 -xor: dest:i src1:i src2:i len:48 -shl: dest:i src1:i src2:s len:48 -shr: dest:i src1:i src2:s len:48 -shr.un: dest:i src1:i src2:s len:48 -neg: dest:i src1:i len:48 -not: dest:i src1:i len:48 -conv.i1: dest:i src1:i len:48 -conv.i2: dest:i src1:i len:48 -conv.i4: dest:i src1:i len:48 -conv.i8: dest:i src1:i len:48 -conv.r4: dest:f src1:i len:112 -conv.r8: dest:f src1:i len:112 -conv.u4: dest:i src1:i len:112 -conv.u8: dest:i src1:i len:112 -conv.r.un: dest:f src1:i len:48 throw: src1:i len:96 -op_rethrow: src1:i len:48 -conv.ovf.i4.un: dest:i src1:i len:96 -conv.ovf.u4.un: -conv.ovf.u4: dest:i src1:i len:48 +rethrow: src1:i len:48 ckfinite: dest:f src1:f len:48 -conv.u2: dest:i src1:i len:48 -conv.u1: dest:i src1:i len:48 -conv.i: dest:i src1:i len:48 -mul.ovf: dest:i src1:i src2:i len:48 -# this opcode is handled specially in the code generator -mul.ovf.un: dest:i src1:i src2:i len:48 -conv.u: dest:i src1:i len:48 ceq: dest:c len:48 cgt: dest:c len:48 cgt.un: dest:c len:48 @@ -68,9 +24,6 @@ compare_imm: src1:i len:48 icompare_imm: src1:i len:48 fcompare: src1:f src2:f clob:a len:48 oparglist: src1:b len:48 -outarg: src1:i len:48 -outarg_imm: len:48 -setret: dest:r src1:i len:48 setlret: dest:r src1:i src2:i len:48 checkthis: src1:b len:48 call: dest:r clob:c len:80 @@ -114,7 +67,6 @@ loadu4_membase: dest:i src1:b len:48 loadi8_membase: dest:i src1:b len:48 loadr4_membase: dest:f src1:b len:48 loadr8_membase: dest:f src1:b len:48 -loadr8_spill_membase: src1:b len:48 loadu4_mem: dest:i len:48 move: dest:i src1:i len:48 add_imm: dest:i src1:i len:48 @@ -149,30 +101,12 @@ cond_exc_c: len:48 cond_exc_nc: len:48 cond_exc_iov: len:48 cond_exc_ic: len:48 -long_mul: dest:i src1:i src2:i len:48 -long_mul_imm: dest:i src1:i src2:i len:48 -long_div: dest:a src1:a src2:i len:48 clob:d -long_div_un: dest:a src1:a src2:i len:48 clob:d -long_rem: dest:d src1:a src2:i len:48 clob:a -long_rem_un: dest:d src1:a src2:i len:48 clob:a -long_shl: dest:i src1:i src2:s len:48 -long_shr: dest:i src1:i src2:s len:48 -long_shr_un: dest:i src1:i src2:s len:48 -long_conv_to_r4: dest:f src1:i len:48 -long_conv_to_r8: dest:f src1:i len:48 -long_conv_to_ovf_i: dest:i src1:i src2:i len:48 -long_mul_ovf: dest:i src1:i src2:i len:48 -long_mul_ovf_un: dest:i src1:i src2:i len:48 -long_conv_to_r_un: dest:f src1:i src2:i len:48 -long_shr_imm: dest:i src1:i len:48 -long_shr_un_imm: dest:i src1:i len:48 -long_shl_imm: dest:i src1:i len:48 float_beq: len:48 float_bne_un: len:48 float_blt: len:48 float_blt_un: len:48 float_bgt: len:48 -float_btg_un: len:48 +float_bgt_un: len:48 float_bge: len:48 float_bge_un: len:48 float_ble: len:48 @@ -212,22 +146,19 @@ float_clt_membase: dest:i src1:f src2:b len:48 float_clt_un_membase: dest:i src1:f src2:b len:48 float_conv_to_u: dest:i src1:f len:48 fmove: dest:f src1:f len:48 -call_handler: len:96 +call_handler: len:96 clob:c start_handler: len:96 -op_endfilter: len:96 -endfinally: len:96 endfilter: len:96 +endfinally: len:96 aot_const: dest:i len:48 tls_get: dest:i len:48 atomic_add_i4: src1:b src2:i dest:i len:48 -atomic_add_new_i4: src1:b src2:i dest:i len:48 -atomic_exchange_i4: src1:b src2:i dest:i len:48 atomic_add_i8: src1:b src2:i dest:i len:48 -atomic_add_new_i8: src1:b src2:i dest:i len:48 -atomic_add_imm_new_i4: src1:b dest:i len:48 -atomic_add_imm_new_i8: src1:b dest:i len:48 +atomic_exchange_i4: src1:b src2:i dest:i len:48 atomic_exchange_i8: src1:b src2:i dest:i len:48 memory_barrier: len:48 +atomic_add_imm_i4: src1:b dest:i len:48 +atomic_add_imm_i8: src1:b dest:i len:48 adc: dest:i src1:i src2:i len:48 addcc: dest:i src1:i src2:i len:48 subcc: dest:i src1:i src2:i len:48 @@ -241,8 +172,8 @@ abs: dest:f src1:f len:48 tan: dest:f src1:f len:48 atan: dest:f src1:f len:48 sqrt: dest:f src1:f len:48 -op_bigmul: len:48 dest:i src1:a src2:i -op_bigmul_un: len:48 dest:i src1:a src2:i +bigmul: len:48 dest:i src1:a src2:i +bigmul_un: len:48 dest:i src1:a src2:i sext_i1: dest:i src1:i len:48 sext_i2: dest:i src1:i len:48 sext_i4: dest:i src1:i len:48 @@ -302,6 +233,58 @@ int_bge: len:48 int_bge_un: len:48 int_ble: len:48 int_ble_un: len:48 +int_conv_to_r4: dest:f src1:i len:112 +int_conv_to_r8: dest:f src1:i len:112 + +# 64 bit opcodes +long_add: dest:i src1:i src2:i len:48 +long_sub: dest:i src1:i src2:i len:48 +long_mul: dest:i src1:i src2:i len:48 +long_div: dest:a src1:a src2:i len:48 clob:d +long_div_un: dest:a src1:a src2:i len:48 clob:d +long_rem: dest:d src1:a src2:i len:48 clob:a +long_rem_un: dest:d src1:a src2:i len:48 clob:a +long_and: dest:i src1:i src2:i len:48 +long_or: dest:i src1:i src2:i len:48 +long_xor: dest:i src1:i src2:i len:48 +long_shl: dest:i src1:i src2:s len:48 +long_shr: dest:i src1:i src2:s len:48 +long_shr_un: dest:i src1:i src2:s len:48 +long_neg: dest:i src1:i len:48 +long_not: dest:i src1:i len:48 +long_conv_to_i1: dest:i src1:i len:48 +long_conv_to_i2: dest:i src1:i len:48 +long_conv_to_i4: dest:i src1:i len:48 +long_conv_to_i8: dest:i src1:i len:48 +long_conv_to_r4: dest:f src1:i len:112 +long_conv_to_r8: dest:f src1:i len:112 +long_conv_to_u4: dest:i src1:i len:112 +long_conv_to_u8: dest:i src1:i len:112 +long_conv_to_r_un: dest:f src1:i len:48 +long_conv_to_ovf_i: dest:i src1:i src2:i len:48 +long_conv_to_ovf_i4_un: dest:i src1:i len:96 +long_conv_to_ovf_u4: dest:i src1:i len:48 +long_conv_to_u2: dest:i src1:i len:48 +long_conv_to_u1: dest:i src1:i len:48 +long_conv_to_i: dest:i src1:i len:48 + +long_mul_imm: dest:i src1:i src2:i len:48 +long_mul_ovf: dest:i src1:i src2:i len:48 +long_mul_ovf_un: dest:i src1:i src2:i len:48 +long_shr_imm: dest:i src1:i len:48 +long_shr_un_imm: dest:i src1:i len:48 +long_shl_imm: dest:i src1:i len:48 + +long_beq: len:48 +long_bge: len:48 +long_bgt: len:48 +long_ble: len:48 +long_blt: len:48 +long_bne_un: len:48 +long_bge_un: len:48 +long_bgt_un: len:48 +long_ble_un: len:48 +long_blt_un: len:48 ia64_cmp4_eq: src1:i src2:i len:48 ia64_cmp4_ne: src1:i src2:i len:48 @@ -377,3 +360,36 @@ ia64_loadu4_membase_inc: dest:b src1:i len:48 ia64_loadi8_membase_inc: dest:b src1:i len:48 ia64_loadr4_membase_inc: dest:b src1:i len:48 ia64_loadr8_membase_inc: dest:b src1:i len:48 + +relaxed_nop: len:0 + +# Linear IR opcodes +nop: len:0 +dummy_use: src1:i len:0 +dummy_store: len:0 +not_reached: len:0 +not_null: src1:i len:0 + +jump_table: dest:i len:48 + +localloc_imm: dest:i len:92 + +vcall2: len:80 clob:c +vcall2_reg: src1:i len:80 clob:c +vcall2_membase: src1:b len:80 clob:c + +int_conv_to_i1: dest:i src1:i len:48 +int_conv_to_u1: dest:i src1:i len:48 +int_conv_to_i2: dest:i src1:i len:48 +int_conv_to_u2: dest:i src1:i len:48 +int_conv_to_i4: dest:i src1:i len:48 +int_conv_to_u4: dest:i src1:i len:48 +int_conv_to_i8: dest:i src1:i len:48 +int_conv_to_u8: dest:i src1:i len:48 + +long_add_imm: dest:i src1:i len:48 +long_sub_imm: dest:i src1:i len:48 +long_and_imm: dest:i src1:i len:48 +long_or_imm: dest:i src1:i len:48 +long_xor_imm: dest:i src1:i len:48 +