Author: zoltan
Date: 2008-02-05 17:48:07 -0500 (Tue, 05 Feb 2008)
New Revision: 94967
Modified:
branches/vargaz/mini-linear-il/mono/mono/mini/ChangeLog
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-alpha.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-amd64.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-arm.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-hppa.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-mips.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-ppc.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-s390.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-s390x.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-sparc.md
branches/vargaz/mini-linear-il/mono/mono/mini/cpu-x86.md
branches/vargaz/mini-linear-il/mono/mono/mini/mini-amd64.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini-arm.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini-mips.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini-ppc.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini-s390.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini-s390x.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini-sparc.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini-x86.c
Log:
2008-02-06 Zoltan Varga <[EMAIL PROTECTED]>
* cpu-<ARCH>.md mini-<ARCH>.c: Get rid of the unused CEE_LDIND/STIND
opcodes.
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/ChangeLog
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/ChangeLog 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/ChangeLog 2008-02-05
22:48:07 UTC (rev 94967)
@@ -1,3 +1,7 @@
+2008-02-06 Zoltan Varga <[EMAIL PROTECTED]>
+
+ * cpu-<ARCH>.md mini-<ARCH>.c: Get rid of the unused CEE_LDIND/STIND
opcodes.
+
2008-02-05 Zoltan Varga <[EMAIL PROTECTED]>
* cpu-<ARCH>.md mini-<ARCH>.md: Get rid of CEE_ opcodes.
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-alpha.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-alpha.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-alpha.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -68,20 +68,6 @@
ble.un: len:4
blt.un: len:4
label: len:0
-ldind.i1: dest:i len:8
-ldind.u1: dest:i len:8
-ldind.i2: dest:i len:8
-ldind.u2: dest:i len:8
-ldind.i4: dest:i len:9
-ldind.u4: dest:i len:8
-ldind.i: dest:i len:8
-ldind.ref: dest:i len:8
-stind.ref: src1:b src2:i
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: dest:f src1:b
-stind.r8: dest:f src1:b
add: dest:i src1:i src2:i len:4
sub: dest:i src1:i src2:i len:4
mul: dest:i src1:i src2:i len:4
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-amd64.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-amd64.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-amd64.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -63,20 +63,6 @@
br: len:6
label: len:0
-ldind.i1: dest:i len:8
-ldind.u1: dest:i len:8
-ldind.i2: dest:i len:8
-ldind.u2: dest:i len:8
-ldind.i4: dest:i len:9
-ldind.u4: dest:i len:8
-ldind.i: dest:i len:8
-ldind.ref: dest:i len:8
-stind.ref: src1:b src2:i
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: dest:f src1:b
-stind.r8: dest:f src1:b
long_add: dest:i src1:i src2:i len:3 clob:1
long_sub: dest:i src1:i src2:i len:3 clob:1
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-arm.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-arm.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-arm.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -68,21 +68,6 @@
switch: src1:i len:8
-ldind.i1: dest:i len:8
-ldind.u1: dest:i len:8
-ldind.i2: dest:i len:8
-ldind.u2: dest:i len:8
-ldind.i4: dest:i len:8
-ldind.u4: dest:i len:8
-ldind.i: dest:i len:8
-ldind.ref: dest:i len:8
-stind.ref: src1:b src2:i
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: src1:b src2:f
-stind.r8: src1:b src2:f
-
int_add: dest:i src1:i src2:i len:4
int_sub: dest:i src1:i src2:i len:4
int_mul: dest:i src1:i src2:i len:4
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-hppa.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-hppa.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-hppa.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -62,20 +62,6 @@
ble.un: len:64
blt.un: len:64
switch: src1:i len:40
-ldind.i1: src1:i dest:i len:4
-ldind.u1: src1:i dest:i len:4
-ldind.i2: src1:i dest:i len:4
-ldind.u2: src1:i dest:i len:4
-ldind.i4: src1:i dest:i len:4
-ldind.u4: src1:i dest:i len:4
-ldind.i: src1:i dest:i len:4
-ldind.ref: src1:i dest:i len:4
-stind.ref: src1:b src2:i
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: src1:b src2:f
-stind.r8: src1:b src2:f
add: dest:i src1:i src2:i len:64
sub: dest:i src1:i src2:i len:4
mul: dest:i src1:i src2:i len:4
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-mips.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-mips.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-mips.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -85,20 +85,6 @@
ble.un: len:8
blt.un: len:8
switch: src1:i len:40
-ldind.i1: dest:i len:8
-ldind.u1: dest:i len:8
-ldind.i2: dest:i len:8
-ldind.u2: dest:i len:8
-ldind.i4: dest:i len:8
-ldind.u4: dest:i len:8
-ldind.i: dest:i len:8
-ldind.ref: dest:i len:8
-stind.ref: src1:b src2:i
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: src1:b src2:f
-stind.r8: src1:b src2:f
add: dest:i src1:i src2:i len:4
sub: dest:i src1:i src2:i len:4
mul: dest:i src1:i src2:i len:20
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-ppc.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-ppc.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-ppc.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -61,20 +61,6 @@
bgt.un: len:8
ble.un: len:8
blt.un: len:8
-ldind.i1: dest:i len:8
-ldind.u1: dest:i len:8
-ldind.i2: dest:i len:8
-ldind.u2: dest:i len:8
-ldind.i4: dest:i len:8
-ldind.u4: dest:i len:8
-ldind.i: dest:i len:8
-ldind.ref: dest:i len:8
-stind.ref: src1:b src2:i
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: src1:b src2:f
-stind.r8: src1:b src2:f
add: dest:i src1:i src2:i len:4
sub: dest:i src1:i src2:i len:4
mul: dest:i src1:i src2:i len:4
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-s390.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-s390.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-s390.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -164,14 +164,6 @@
lcall: dest:L len:8 clob:c
lcall_membase: dest:L src1:b len:12 clob:c
lcall_reg: dest:L src1:i len:8 clob:c
-ldind.i1: dest:i len:8
-ldind.i2: dest:i len:8
-ldind.i4: dest:i len:8
-ldind.i: dest:i len:8
-ldind.ref: dest:i len:8
-ldind.u1: dest:i len:8
-ldind.u2: dest:i len:8
-ldind.u4: dest:i len:8
load_membase: dest:i src1:b len:18
loadi1_membase: dest:i src1:b len:40
loadi2_membase: dest:i src1:b len:24
@@ -237,12 +229,6 @@
shr_un_imm: dest:i src1:i len:8
sqrt: dest:f src1:f len:4
start_handler: len:18
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: src1:b src2:f
-stind.r8: src1:b src2:f
-stind.ref: src1:b src2:i
store_membase_imm: dest:b len:32
store_membase_reg: dest:b src1:i len:18
storei1_membase_imm: dest:b len:32
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-s390x.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-s390x.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-s390x.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -227,14 +227,6 @@
lcall_membase: dest:o src1:b len:12 clob:c
lcall_reg: dest:o src1:i len:8 clob:c
lcompare: src1:i src2:i len:4
-ldind.i1: dest:i len:8
-ldind.i2: dest:i len:8
-ldind.i4: dest:i len:8
-ldind.i: dest:i len:8
-ldind.ref: dest:i len:8
-ldind.u1: dest:i len:8
-ldind.u2: dest:i len:8
-ldind.u4: dest:i len:8
load_membase: dest:i src1:b len:26
loadi1_membase: dest:i src1:b len:40
loadi2_membase: dest:i src1:b len:26
@@ -317,12 +309,6 @@
shr_un_imm: dest:i src1:i len:8
sqrt: dest:f src1:f len:4
start_handler: len:26
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: src1:b src2:f
-stind.r8: src1:b src2:f
-stind.ref: src1:b src2:i
store_membase_imm: dest:b len:46
store_membase_reg: dest:b src1:i len:26
storei1_membase_imm: dest:b len:46
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-sparc.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-sparc.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-sparc.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -72,20 +72,6 @@
sparc_cond_exc_gtz: src1:i len:64
sparc_cond_exc_gez: src1:i len:64
sparc_cond_exc_lez: src1:i len:64
-ldind.i1: dest:i len:4
-ldind.u1: dest:i len:4
-ldind.i2: dest:i len:4
-ldind.u2: dest:i len:4
-ldind.i4: dest:i len:4
-ldind.u4: dest:i len:4
-ldind.i: dest:i len:4
-ldind.ref: dest:i len:4
-stind.ref: src1:b src2:i
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: src1:b src2:f
-stind.r8: src1:b src2:f
throw: src1:i len:64
rethrow: src1:i len:64
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-x86.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-x86.md 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-x86.md 2008-02-05
22:48:07 UTC (rev 94967)
@@ -78,20 +78,6 @@
int_blt_un: len:6
label: len:0
-ldind.i1: dest:i len:6
-ldind.u1: dest:i len:6
-ldind.i2: dest:i len:6
-ldind.u2: dest:i len:6
-ldind.i4: dest:i len:6
-ldind.u4: dest:i len:6
-ldind.i: dest:i len:6
-ldind.ref: dest:i len:6
-stind.ref: src1:b src2:i
-stind.i1: src1:b src2:i
-stind.i2: src1:b src2:i
-stind.i4: src1:b src2:i
-stind.r4: dest:f src1:b
-stind.r8: dest:f src1:b
int_add: dest:i src1:i src2:i len:2 clob:1
int_sub: dest:i src1:i src2:i len:2 clob:1
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-amd64.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-amd64.c 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-amd64.c 2008-02-05
22:48:07 UTC (rev 94967)
@@ -2966,15 +2966,6 @@
g_assert (amd64_is_imm32 (ins->inst_imm));
amd64_mov_membase_imm (code, ins->inst_destbasereg,
ins->inst_offset, ins->inst_imm, 8);
break;
- case CEE_LDIND_I:
- amd64_mov_reg_mem (code, ins->dreg,
(gssize)ins->inst_p0, sizeof (gpointer));
- break;
- case CEE_LDIND_I4:
- amd64_mov_reg_mem (code, ins->dreg,
(gssize)ins->inst_p0, 4);
- break;
- case CEE_LDIND_U4:
- amd64_mov_reg_mem (code, ins->dreg,
(gssize)ins->inst_p0, 4);
- break;
case OP_LOAD_MEM:
case OP_LOADI8_MEM:
// FIXME: Decompose this earlier
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-arm.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-arm.c 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-arm.c 2008-02-05
22:48:07 UTC (rev 94967)
@@ -2529,11 +2529,6 @@
case OP_STOREI4_MEMINDEX:
ARM_STR_REG_REG (code, ins->sreg1,
ins->inst_destbasereg, ins->sreg2);
break;
- case CEE_LDIND_I:
- case CEE_LDIND_I4:
- case CEE_LDIND_U4:
- g_assert_not_reached ();
- break;
case OP_LOADU4_MEM:
g_assert_not_reached ();
break;
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-mips.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-mips.c 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-mips.c 2008-02-05
22:48:07 UTC (rev 94967)
@@ -1863,12 +1863,6 @@
mips_sw (code, ins->sreg1, mips_at, 0);
}
break;
- case CEE_LDIND_I:
- case CEE_LDIND_I4:
- case CEE_LDIND_U4:
- g_assert_not_reached ();
- //x86_mov_reg_mem (code, ins->dreg, ins->inst_p0, 4);
- break;
case OP_LOADU4_MEM:
g_assert_not_reached ();
//x86_mov_reg_imm (code, ins->dreg, ins->inst_p0);
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-ppc.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-ppc.c 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-ppc.c 2008-02-05
22:48:07 UTC (rev 94967)
@@ -2191,12 +2191,6 @@
case OP_STOREI4_MEMINDEX:
ppc_stwx (code, ins->sreg1, ins->sreg2,
ins->inst_destbasereg);
break;
- case CEE_LDIND_I:
- case CEE_LDIND_I4:
- case CEE_LDIND_U4:
- g_assert_not_reached ();
- //x86_mov_reg_mem (code, ins->dreg, ins->inst_p0, 4);
- break;
case OP_LOADU4_MEM:
g_assert_not_reached ();
break;
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-s390.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-s390.c 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-s390.c 2008-02-05
22:48:07 UTC (rev 94967)
@@ -2527,16 +2527,6 @@
}
}
break;
- case CEE_LDIND_I:
- case CEE_LDIND_I4:
- case CEE_LDIND_U4: {
- s390_basr (code, s390_r13, 0);
- s390_j (code, 4);
- s390_word (code, ins->inst_p0);
- s390_l (code, s390_r13, 0, s390_r13, 4);
- s390_l (code, ins->dreg, 0, s390_r13, 0);
- }
- break;
case OP_LOADU4_MEM:
g_assert_not_reached ();
break;
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-s390x.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-s390x.c 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-s390x.c 2008-02-05
22:48:07 UTC (rev 94967)
@@ -2514,23 +2514,6 @@
ins->inst_destbasereg, ins->inst_offset);
}
break;
- case CEE_LDIND_I:
- case CEE_LDIND_I4: {
- s390_basr (code, s390_r13, 0);
- s390_j (code, 6);
- s390_llong(code, ins->inst_p0);
- s390_lg (code, s390_r13, 0, s390_r13, 4);
- s390_lgf (code, ins->dreg, 0, s390_r13, 0);
- }
- break;
- case CEE_LDIND_U4: {
- s390_basr (code, s390_r13, 0);
- s390_j (code, 6);
- s390_llong(code, ins->inst_p0);
- s390_lg (code, s390_r13, 0, s390_r13, 4);
- s390_llgf (code, ins->dreg, 0, s390_r13, 0);
- }
- break;
case OP_LOADU4_MEM:
g_assert_not_reached ();
break;
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-sparc.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-sparc.c 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-sparc.c 2008-02-05
22:48:07 UTC (rev 94967)
@@ -2778,23 +2778,6 @@
case OP_STORE_MEMBASE_REG:
EMIT_STORE_MEMBASE_REG (ins, sti);
break;
- case CEE_LDIND_I:
-#ifdef SPARCV9
- sparc_ldx (code, ins->inst_c0, sparc_g0, ins->dreg);
-#else
- sparc_ld (code, ins->inst_c0, sparc_g0, ins->dreg);
-#endif
- break;
- case CEE_LDIND_I4:
-#ifdef SPARCV9
- sparc_ldsw (code, ins->inst_c0, sparc_g0, ins->dreg);
-#else
- sparc_ld (code, ins->inst_c0, sparc_g0, ins->dreg);
-#endif
- break;
- case CEE_LDIND_U4:
- sparc_ld (code, ins->inst_c0, sparc_g0, ins->dreg);
- break;
case OP_LOADU4_MEM:
sparc_set (code, ins->inst_c0, ins->dreg);
sparc_ld (code, ins->dreg, sparc_g0, ins->dreg);
@@ -2988,6 +2971,10 @@
}
break;
}
+ case OP_IDIV_UN_IMM:
+ sparc_wry (code, sparc_g0, sparc_g0);
+ EMIT_ALU_IMM (ins, udiv, FALSE);
+ break;
case OP_IREM:
/* Sign extend sreg1 into %y */
sparc_sra_imm (code, ins->sreg1, 31, sparc_o7);
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-x86.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-x86.c 2008-02-05
22:31:55 UTC (rev 94966)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-x86.c 2008-02-05
22:48:07 UTC (rev 94967)
@@ -2508,11 +2508,6 @@
case OP_STORE_MEM_IMM:
x86_mov_mem_imm (code, ins->inst_p0, ins->inst_c0, 4);
break;
- case CEE_LDIND_I:
- case CEE_LDIND_I4:
- case CEE_LDIND_U4:
- x86_mov_reg_mem (code, ins->dreg, ins->inst_p0, 4);
- break;
case OP_LOADU4_MEM:
if (cfg->new_ir)
x86_mov_reg_mem (code, ins->dreg,
ins->inst_imm, 4);
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches