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
ret
}
-#if !defined(__ppc__) && !defined(__powerpc__) && !defined(__arm__)
+#if !defined(__ppc__) && !defined(__powerpc__) && !defined(__arm__) && !defined(__sparc__)
// PPC handles overflow by clipping, but this test assumes
// no overflow handling. According to ECMA the result of
// float->int conversion is undefined if overflow occurs, so
ret
}
+ .method public static int32 test_7_conv_ovf_u4_un () {
+ .maxstack 2
+ .locals init (unsigned int32)
+
+ ldc.i4.7
+ conv.ovf.u4.un
+ stloc.0
+ ldloc.0
+ conv.i4
+ ret
+ }
+
.method public static int32 test_1_bug_74591 () {
.maxstack 16
.locals init (int32)
ldc.i4.0
ret
}
-
+
+ .method public static default int32 test_0_newarr_i8 () cil managed
+ {
+ ldc.i4 1000
+ conv.i8
+ newarr [mscorlib]System.Boolean
+ pop
+ ldc.i4 0
+ ret
+ }
+
+ .method public static specialname
+ default int32 return_1_noinline () cil managed noinlining
+ {
+ .maxstack 0
+
+ ldc.i4.1
+ ret
+ }
+
+ // Only happens with -O=-deadce,cmov
+ .method public static default int32 test_0_cmov_unused_582322 () cil managed
+ {
+ .maxstack 2
+ .locals init (
+ int32 V_0
+ )
+ call int32 Tests::return_1_noinline ()
+ ldc.i4.1
+ bne.un L0
+ ldloc.s 0
+ pop
+ L0:
+ ldc.i4.0
+ ret
+ }
+
+ .method public static hidebysig
+ default int32 test_0_regress_586664 () cil managed
+ {
+ // Method begins at RVA 0x20f4
+ // Code size 76 (0x4c)
+ .maxstack 6
+ .locals init (
+ float64 V_0,
+ float64[] V_1)
+ IL_0000: ldc.r8 1.
+ IL_0009: ldc.r8 2.
+ IL_0012: ldc.r8 1.
+ IL_001b: call float64 class [mscorlib]System.Math::Pow(float64, float64)
+ IL_0020: div
+ IL_0021: stloc.0
+ IL_0022: ldc.i4.2
+ IL_0023: newarr [mscorlib]System.Double
+ IL_0028: dup
+ IL_0029: ldc.i4.0
+ IL_002a: ldloc.0
+ IL_002b: neg
+ IL_002c: stelem.r8
+ IL_002d: dup
+ IL_002e: ldc.i4.1
+ IL_002f: ldloc.0
+ IL_0030: neg
+ IL_0031: stelem.r8
+ IL_0032: stloc.1
+ IL_0033: ldloc.1
+ IL_0034: ldc.i4.0
+ IL_0035: ldelem.r8
+ IL_0036: ldc.r8 -0.5
+ IL_003f: bne.un IL_004a
+
+ IL_0044: ldc.i4.0
+ IL_0045: br IL_004b
+
+ IL_004a: ldc.i4.1
+ IL_004b: ret
+ }
+
+ .method public static int32 test_2_leave_multiple_blocks_from_end ()
+ {
+ .locals init (int32 V_0)
+
+ .try {
+ .try {
+ nop
+ nop
+ leave END
+ } finally {
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ endfinally
+ }
+ nop
+ leave END
+ } finally {
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ endfinally
+ }
+END:
+ ldloc.0
+ ret
+ }
+
+ .method public static int32 test_3_leave_multiple_blocks_from_hole ()
+ {
+ .locals init (int32 V_0)
+
+ .try {
+ .try {
+ ldloc.0
+ brtrue REST
+ leave BEFORE_END
+REST:
+ nop
+ nop
+ leave END
+ } finally {
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ endfinally
+ }
+ nop
+ leave END
+ } finally {
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+ endfinally
+ }
+BEFORE_END:
+ ldloc.0
+ ldc.i4.1
+ add
+ stloc.0
+END:
+ ldloc.0
+ ret
+ }
+
+ .class nested private auto ansi sealed beforefieldinit Pair`2<TKey,TValue>
+ extends [mscorlib]System.ValueType
+ {
+ .field public !0 key
+ .field public !1 'value'
+ }
+
+ .method private static hidebysig
+ default bool ContentEquals<TKey,TValue> (valuetype Tests/Pair`2<!!TKey, !!TValue> v) cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarga.s 0
+ IL_0006: ldnull
+ constrained. valuetype Tests/Pair`2<!!0,!!1>
+ IL_0007: callvirt instance bool class [mscorlib]System.Object::Equals(object)
+ ret
+ }
+
+ .method public static hidebysig default int32 test_0_constrained_gshared_595863 () cil managed
+ {
+ .locals init (
+ valuetype Tests/Pair`2<string, string> V_0,
+ valuetype Tests/Pair`2<string, string> V_1)
+ IL_0000: ldloca.s 0
+ IL_0002: initobj valuetype Tests/Pair`2<string,string>
+ IL_0008: ldloc.0
+ IL_0009: stloc.1
+ IL_000a: ldloca.s 1
+ IL_000c: ldstr "A"
+ IL_0011: stfld !0 valuetype Tests/Pair`2<string,string>::key
+ IL_0016: ldloca.s 1
+ IL_0018: ldstr "B"
+ IL_001d: stfld !1 valuetype Tests/Pair`2<string,string>::'value'
+ IL_0022: ldloc.1
+ IL_0023: stloc.0
+ IL_0024: ldloc.0
+ IL_0025: call bool class Tests::ContentEquals<string, string> (valuetype Tests/Pair`2<!!0,!!1>)
+ brfalse SUCCESS
+ ldc.i4.1
+ ret
+ SUCCESS:
+ ldc.i4.0
+ ret
+ }
}