2010-02-22 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Mon, 22 Feb 2010 22:16:28 +0000 (22:16 -0000)
committerZoltan Varga <vargaz@gmail.com>
Mon, 22 Feb 2010 22:16:28 +0000 (22:16 -0000)
* decompose.c (mono_decompose_opcode): Handle OP_LCONV_TO_OVF_I8. Fixes
#581950.

* iltests.il.in: Add a test.

svn path=/trunk/mono/; revision=152213

mono/mini/ChangeLog
mono/mini/decompose.c
mono/mini/iltests.il.in

index 2fac9949cdff80d113959dfab2d77e6529810d89..e6ead53d07e53cb079625e6faedb2e076324b2fd 100755 (executable)
@@ -1,3 +1,10 @@
+2010-02-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * decompose.c (mono_decompose_opcode): Handle OP_LCONV_TO_OVF_I8. Fixes
+       #581950.
+
+       * iltests.il.in: Add a test.
+
 2010-02-22  Rodrigo Kumpera  <rkumpera@novell.com>
 
        * mini.c (mono_method_check_inlining): Use !mono_method_get_header_summary
index 2840cd1962cd1bfd0a8dd2f02a6dfa0133cac796..59c2b2983d0206732acd91d65546595a637a26ca 100644 (file)
@@ -325,6 +325,7 @@ mono_decompose_opcode (MonoCompile *cfg, MonoInst *ins)
        case OP_LCONV_TO_OVF_I:
        case OP_LCONV_TO_OVF_U_UN:
        case OP_LCONV_TO_OVF_U8_UN:
+       case OP_LCONV_TO_OVF_I8:
                ins->opcode = OP_MOVE;
                break;
        case OP_LCONV_TO_OVF_I_UN:
index 7618fa65bf887fc202eed340bb495350138df91c..230e65b8c05428a878205a85a0c79d916a995142 100644 (file)
@@ -838,6 +838,22 @@ COND:   ldloc.0
                ret
        }
 
+       .method public static int32 test_0_lconv_to_ovf_i8 () cil managed {
+               .maxstack 16
+
+               ldc.i4 1234
+               conv.i8
+               conv.ovf.i8
+               conv.i4
+               ldc.i4 1234
+               beq L1
+               ldc.i4.1
+               ret
+       L1:
+               ldc.i4.0
+               ret
+       }
+
        .method public static int32 test_0_lconv_to_ovf_u8_un () cil managed {
                .maxstack 16