From 77313d249c254d38bfbadd60825dceb0028dc9af Mon Sep 17 00:00:00 2001 From: Zoltan Varga Date: Thu, 14 Feb 2008 14:18:40 +0000 Subject: [PATCH] 2008-02-14 Zoltan Varga * mini-amd64.c inssel-amd64.brg cpu-amd64.md: Get rid of the confusing _MEMBASE opcodes, use the REG_MEMBASE opcodes instead. svn path=/trunk/mono/; revision=95632 --- mono/mini/ChangeLog | 3 +++ mono/mini/cpu-amd64.md | 11 ++++++++--- mono/mini/inssel-amd64.brg | 6 +++--- mono/mini/mini-amd64.c | 9 +-------- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index 783b4c1a2ce..478ba17a4b7 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,5 +1,8 @@ 2008-02-14 Zoltan Varga + * mini-amd64.c inssel-amd64.brg cpu-amd64.md: Get rid of the confusing _MEMBASE + opcodes, use the REG_MEMBASE opcodes instead. + * mini-amd64.c (mono_arch_output_basic_block): Sync with the version on the linear IR branch. diff --git a/mono/mini/cpu-amd64.md b/mono/mini/cpu-amd64.md index 5c06e251e8c..ef81e64a087 100644 --- a/mono/mini/cpu-amd64.md +++ b/mono/mini/cpu-amd64.md @@ -281,9 +281,14 @@ x86_fpop: src1:f len:3 x86_fp_load_i8: dest:f src1:b len:8 x86_fp_load_i4: dest:f src1:b len:8 x86_seteq_membase: src1:b len:9 -x86_add_membase: dest:i src1:i src2:b clob:1 len:13 -x86_sub_membase: dest:i src1:i src2:b clob:1 len:13 -x86_mul_membase: dest:i src1:i src2:b clob:1 len:14 + +x86_add_reg_membase: dest:i src1:i src2:b clob:1 len:13 +x86_sub_reg_membase: dest:i src1:i src2:b clob:1 len:13 +x86_mul_reg_membase: dest:i src1:i src2:b clob:1 len:13 +x86_and_reg_membase: dest:i src1:i src2:b clob:1 len:13 +x86_or_reg_membase: dest:i src1:i src2:b clob:1 len:13 +x86_xor_reg_membase: dest:i src1:i src2:b clob:1 len:13 + amd64_test_null: src1:i len:5 amd64_icompare_membase_reg: src1:b src2:i len:8 amd64_icompare_membase_imm: src1:b len:13 diff --git a/mono/mini/inssel-amd64.brg b/mono/mini/inssel-amd64.brg index b6161235460..cae37504357 100644 --- a/mono/mini/inssel-amd64.brg +++ b/mono/mini/inssel-amd64.brg @@ -606,19 +606,19 @@ freg: OP_FCONV_TO_R4 (freg) "0" { reg: CEE_ADD(reg, CEE_LDIND_I4 (base)) { MonoInst *base = state->right->left->tree; - MONO_EMIT_BIALU_MEMBASE (cfg, tree, OP_X86_ADD_MEMBASE, state->reg1, state->left->reg1, base->inst_basereg, base->inst_offset); + MONO_EMIT_BIALU_MEMBASE (cfg, tree, OP_X86_ADD_REG_MEMBASE, state->reg1, state->left->reg1, base->inst_basereg, base->inst_offset); } reg: CEE_SUB(reg, CEE_LDIND_I4 (base)) { MonoInst *base = state->right->left->tree; - MONO_EMIT_BIALU_MEMBASE (cfg, tree, OP_X86_SUB_MEMBASE, state->reg1, state->left->reg1, base->inst_basereg, base->inst_offset); + MONO_EMIT_BIALU_MEMBASE (cfg, tree, OP_X86_SUB_REG_MEMBASE, state->reg1, state->left->reg1, base->inst_basereg, base->inst_offset); } reg: CEE_MUL(reg, CEE_LDIND_I4 (base)) { MonoInst *base = state->right->left->tree; - MONO_EMIT_BIALU_MEMBASE (cfg, tree, OP_X86_MUL_MEMBASE, state->reg1, state->left->reg1, base->inst_basereg, base->inst_offset); + MONO_EMIT_BIALU_MEMBASE (cfg, tree, OP_X86_MUL_REG_MEMBASE, state->reg1, state->left->reg1, base->inst_basereg, base->inst_offset); } reg: OP_LSHL (reg, reg), diff --git a/mono/mini/mini-amd64.c b/mono/mini/mini-amd64.c index cd636714312..fda18c05cd7 100644 --- a/mono/mini/mini-amd64.c +++ b/mono/mini/mini-amd64.c @@ -2689,12 +2689,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) amd64_alu_reg_membase_size (code, X86_XOR, ins->sreg1, ins->sreg2, ins->inst_offset, 4); break; - case OP_X86_ADD_MEMBASE: - amd64_alu_reg_membase_size (code, X86_ADD, ins->sreg1, ins->sreg2, ins->inst_offset, 4); - break; - case OP_X86_SUB_MEMBASE: - amd64_alu_reg_membase_size (code, X86_SUB, ins->sreg1, ins->sreg2, ins->inst_offset, 4); - break; case OP_X86_ADD_MEMBASE_IMM: /* FIXME: Make a 64 version too */ amd64_alu_membase_imm_size (code, X86_ADD, ins->inst_basereg, ins->inst_offset, ins->inst_imm, 4); @@ -2742,8 +2736,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) case OP_X86_DEC_REG: amd64_dec_reg_size (code, ins->dreg, 4); break; - case OP_X86_MUL_MEMBASE: - case OP_X86_MUL_MEMBASE_REG: + case OP_X86_MUL_REG_MEMBASE: amd64_imul_reg_membase_size (code, ins->sreg1, ins->sreg2, ins->inst_offset, 4); break; case OP_AMD64_ICOMPARE_MEMBASE_REG: -- 2.25.1