Author: zoltan
Date: 2005-04-15 17:56:41 -0400 (Fri, 15 Apr 2005)
New Revision: 43083
Modified:
trunk/mono/mono/mini/ChangeLog
trunk/mono/mono/mini/cpu-amd64.md
trunk/mono/mono/mini/iltests.il
trunk/mono/mono/mini/inssel-long.brg
Log:
2005-04-16 Zoltan Varga <[EMAIL PROTECTED]>
* inssel-long.brg: Fix #74588.
* cpu-amd64.md: Fix #74591.
* iltests.il: Add new regression tests.
Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog 2005-04-15 21:44:50 UTC (rev 43082)
+++ trunk/mono/mono/mini/ChangeLog 2005-04-15 21:56:41 UTC (rev 43083)
@@ -1,3 +1,11 @@
+2005-04-16 Zoltan Varga <[EMAIL PROTECTED]>
+
+ * inssel-long.brg: Fix #74588.
+
+ * cpu-amd64.md: Fix #74591.
+
+ * iltests.il: Add new regression tests.
+
2005-04-13 Zoltan Varga <[EMAIL PROTECTED]>
* trace.c (mono_trace_enter_method): Print enums as an int, not as a
Modified: trunk/mono/mono/mini/cpu-amd64.md
===================================================================
--- trunk/mono/mono/mini/cpu-amd64.md 2005-04-15 21:44:50 UTC (rev 43082)
+++ trunk/mono/mono/mini/cpu-amd64.md 2005-04-15 21:56:41 UTC (rev 43083)
@@ -397,9 +397,9 @@
long_clt_un:
long_conv_to_r_un: dest:f src1:i src2:i len:48
long_conv_to_u:
-long_shr_imm: dest:i src1:i len:11
-long_shr_un_imm: dest:i src1:i len:11
-long_shl_imm: dest:i src1:i len:11
+long_shr_imm: dest:i src1:i clob:1 len:11
+long_shr_un_imm: dest:i src1:i clob:1 len:11
+long_shl_imm: dest:i src1:i clob:1 len:11
long_add_imm:
long_sub_imm:
long_beq:
Modified: trunk/mono/mono/mini/iltests.il
===================================================================
--- trunk/mono/mono/mini/iltests.il 2005-04-15 21:44:50 UTC (rev 43082)
+++ trunk/mono/mono/mini/iltests.il 2005-04-15 21:56:41 UTC (rev 43083)
@@ -698,4 +698,31 @@
ret
}
+ .method public static int32 test_7_conv_ovf_u8_un () {
+ .maxstack 2
+ .locals init (unsigned int64)
+
+ ldc.i4.7
+ conv.ovf.u8.un
+ stloc.0
+ ldloc.0
+ conv.i4
+ ret
+ }
+
+ .method public static int32 test_1_bug_74591 () {
+ .maxstack 16
+ .locals init (int32)
+
+ ldc.i4.m1
+ stloc.0
+ ldloc.0
+ conv.ovf.i8
+ ldc.i4.m1
+ conv.ovf.i8
+ mul.ovf
+ conv.i4
+ ret
+ }
+
}
Modified: trunk/mono/mono/mini/inssel-long.brg
===================================================================
--- trunk/mono/mono/mini/inssel-long.brg 2005-04-15 21:44:50 UTC (rev
43082)
+++ trunk/mono/mono/mini/inssel-long.brg 2005-04-15 21:56:41 UTC (rev
43083)
@@ -328,8 +328,9 @@
MONO_EMIT_BIALU_IMM (s, tree, OP_LSHR_IMM, state->reg1,
state->left->reg1, 0);
}
-reg: CEE_CONV_OVF_I8_UN (reg) {
- /* an unsigned 32 bit num always fits in a signed 64 bit one */
+reg: CEE_CONV_OVF_I8_UN (reg),
+reg: CEE_CONV_OVF_U8_UN (reg) {
+ /* an unsigned 32 bit num always fits in an (un)signed 64 bit one */
/* Clean out the upper word */
MONO_EMIT_BIALU_IMM (s, tree, OP_SHR_UN_IMM, state->reg1,
state->left->reg1, 0);
}
@@ -340,13 +341,6 @@
MONO_EMIT_UNALU (s, tree, OP_MOVE, state->reg1, state->left->reg1);
}
-reg: CEE_CONV_OVF_U8_UN (reg) {
- g_assert_not_reached ();
-}
-
-
-
-
reg: OP_LCALLVIRT (reg) {
mini_emit_virtual_call (s, state, tree, OP_LCALL, OP_LCALL_MEMBASE);
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches