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

Reply via email to