2 .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
3 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
4 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
6 .assembly extern TestDriver {}
7 .assembly extern mscorlib {}
9 .class public auto ansi sealed beforefieldinit Tests {
11 .method static public int32 Main(string[] args) il managed {
15 call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
17 call int32 [TestDriver]TestDriver::RunTests(class [mscorlib]System.Type, string[])
21 // make sure the register allocator works when the return value of
23 .method static public int32 test_0_div_regalloc () il managed {
37 .method static public int32 test_1_ceq_to_i4 () il managed {
51 .method static public int32 test_3_shl_regvars () il managed {
98 .method static public int32 test_1_fceq_to_i4 () il managed {
118 // This should be manually checked. Basically under -O=linears,
119 // you should not see tons of register spilling.
121 .method static public int32 test_1_bytedreg_free () il managed {
157 // This should be manually checked. Basically under -O=linears,
158 // you should not see tons of register spilling.
160 .method static public int32 test_0_bytesreg1_free () il managed {
199 .method static public int32 test_1_shift_regvar () il managed {
220 // this only happens with the managed pointer, not an unmanaged one.
221 .method static public int32 test_0_foo () il managed {
238 .method static public int32 test_0_localloc () cil managed {
239 .locals init (native int, native int, native int, native int, int32)
264 // Check zero initialized
313 // Try allocations bigger than one page
339 .method private static void do_localloc () cil managed {
344 IL_0001: ldc.i4 131072
351 // Check that localloc cannot be inlined
352 .method static public int32 test_0_localloc_inline () cil managed {
362 START: call void class Tests::do_localloc()
375 .method static public int32 test_3_copy_used_bug () il managed {
401 // demonstrate that the copy_used_var is not a fix for the above bug
402 .method static public int32 test_3_copy_used_indir_bug () il managed {
429 .method static public void do_nothing (int32 a) il managed {
433 // demonstrate the block_split failure: needs -O=inline
434 // mini -O=inline --compile Tests:test_0_split_block_bug iltests.exe
435 .method static public int32 test_0_split_block_bug () il managed {
445 call void class Tests::do_nothing (int32)
453 .method public void inline_do_nothing () il managed {
456 .method static public int32 test_1_checkthis_inlining () il managed {
458 call instance void class Tests::inline_do_nothing ()
463 .class nested private auto ansi sealed beforefieldinit TailCallStruct
464 extends [mscorlib]System.ValueType {
465 .field public int32 a
466 .field public int32 b
469 .method static valuetype Tests/TailCallStruct tail1 (valuetype Tests/TailCallStruct arg) {
472 ldfld int32 Tests/TailCallStruct::a
475 stfld int32 Tests/TailCallStruct::a
478 ldfld int32 Tests/TailCallStruct::a
481 stfld int32 Tests/TailCallStruct::a
486 .method static valuetype Tests/TailCallStruct tail2 (valuetype Tests/TailCallStruct arg) {
489 call valuetype Tests/TailCallStruct Tests::tail1 (valuetype Tests/TailCallStruct)
493 .class nested private auto ansi sealed beforefieldinit TailCallStructBig
494 extends [mscorlib]System.ValueType {
495 .field public int32 a
496 .field public int32 b
497 .field public int32 c
498 .field public int32 d
499 .field public int32 e
502 .method static valuetype Tests/TailCallStructBig tail_vret_by_addr_inner (valuetype Tests/TailCallStructBig arg) {
505 ldfld int32 Tests/TailCallStructBig::a
508 stfld int32 Tests/TailCallStructBig::a
513 .method static valuetype Tests/TailCallStructBig tail_vret_by_addr (valuetype Tests/TailCallStructBig arg) {
516 call valuetype Tests/TailCallStructBig Tests::tail_vret_by_addr_inner (valuetype Tests/TailCallStructBig)
520 .method static public int32 test_3_tail_call_vret_by_addr () il managed {
523 valuetype Tests/TailCallStructBig arg2
528 stfld int32 Tests/TailCallStructBig::a
530 call valuetype Tests/TailCallStructBig Tests::tail_vret_by_addr (valuetype Tests/TailCallStructBig)
534 ldfld int32 Tests/TailCallStructBig::a
538 .method static public int32 test_9_tail_call_vret_by_val () il managed {
541 valuetype Tests/TailCallStruct arg
545 stfld int32 Tests/TailCallStruct::a
548 stfld int32 Tests/TailCallStruct::b
550 call valuetype Tests/TailCallStruct Tests::tail2 (valuetype Tests/TailCallStruct)
554 ldfld int32 Tests/TailCallStruct::a
556 ldfld int32 Tests/TailCallStruct::b
561 .method static public int32 tail3 (int32 i, int32 j) il managed {
568 .method static public int32 tail4 (int32 i, int32 j) il managed {
573 // Test arg0 allocated to a register
583 // Test switched up argument variables as the actual arguments
587 call int32 Tests::tail3 (int32, int32)
591 .method static public int32 test_24_tail_calls2 () il managed {
592 // Some platforms might not be able to AOT tail calls
593 .custom instance void class [TestDriver]CategoryAttribute::'.ctor'(string) = (01 00 08 21 46 55 4C 4C 41 4F 54 00 00 ) // ...!FULLAOT..
607 call int32 Tests::tail4 (int32, int32)
611 .method public static int32 test_5_jmp () cil managed {
612 // Some platforms might not be able to AOT tail calls
613 .custom instance void class [TestDriver]CategoryAttribute::'.ctor'(string) = (01 00 08 21 46 55 4C 4C 41 4F 54 00 00 ) // ...!FULLAOT..
617 call int32 Tests::jmp2 (int32, int32)
621 .method public static int32 jmp2 (int32, int32) cil managed {
630 jmp int32 Tests::jmp3 (int32, int32)
635 .method public static int32 jmp3 (int32 i, int32 j) cil managed {
642 .method static public int32 test_11_switch_with_nonempty_stack () il managed {
657 .method public static int32 test_5_endfinally_with_nonempty_stack () il managed {
671 .method public static int32 test_5_endfinally_llvm_linking () il managed {
692 .method public static int32 test_0_conv_ovf_i8_neg () il managed {
707 .method public static int32 test_1234_conv_u4 () cil managed {
716 .method public static int32 test_0_conv_ovf_i_un () cil managed {
735 sizeof [mscorlib]System.IntPtr
742 } catch [mscorlib]System.OverflowException {
754 .method public static int32 test_0_conv_ovf_u_un () cil managed {
769 .method public static int32 test_0_conv_ovf_i () cil managed {
784 .method public static int32 test_0_conv_ovf_u () cil managed {
799 .method public static int32 test_1234_conv_ovf_i8_un () cil managed {
808 .method public static int32 test_0_lconv_ovf_i () cil managed {
824 .method public static int32 test_0_lconv_ovf_u () cil managed {
840 .method public static int32 test_0_lconv_ovf_i_un () cil managed {
856 .method public static int32 test_0_lconv_ovf_u_un () cil managed {
872 .method public static int32 test_0_lconv_to_ovf_i8 () cil managed {
888 .method public static int32 test_0_lconv_to_ovf_u8_un () cil managed {
904 .method public static int32 test_2_lconv_to_ovf_i4_un () cil managed {
906 .locals init (int32 res)
923 } catch [mscorlib]System.OverflowException {
931 ldc.i8 0xffffffff80000000
937 } catch [mscorlib]System.OverflowException {
947 .method public static int32 test_1_lconv_to_ovf_i_un () cil managed {
949 .locals init (int32 res)
961 .method public static int32 test_32_lconv_to_u8 () cil managed
972 .method public static int32 test_32_lconv_to_i8 () cil managed
983 .method public static int32 test_15_lconv_to_u () cil managed
991 .method public static int32 test_1234_fconv_u () cil managed {
1000 .method public static int32 test_0_get_type_from_handle_on_bblock_boundary () cil managed
1007 ldtoken [mscorlib]System.String
1010 ldtoken [mscorlib]System.Object
1012 call class [mscorlib]'System.Type' class [mscorlib]'System.Type'::'GetTypeFromHandle'(valuetype [mscorlib]'System.RuntimeTypeHandle')
1013 callvirt instance string class [mscorlib]System.Type::get_FullName ()
1014 ldstr "System.String"
1015 callvirt instance bool class [mscorlib]System.Object::Equals(object)
1021 .method public static int32 test_0_bug59580 ()
1023 ldc.r4 float32(0x7FC00000)
1024 ldc.r4 float32(0x7FC00000)
1035 .method public static int32 test_1_bug60056 () {
1036 .locals init (int32 m5)
1054 .method public static int32 test_1_conv_u8_cfold () {
1058 ldc.i8 0x00000000ffffffff
1064 .method public static int32 test_1_array_type_mismatch_ldelema () {
1065 .locals init (int32 r)
1081 } catch [mscorlib]System.ArrayTypeMismatchException {
1092 .method public static int32 test_1_conv_ovf_i8_with_i4 () {
1101 .method public static int32 test_0_initlocals_float_ptr () {
1105 float32& pinned V_1,
1108 newarr [mscorlib]System.Single
1116 ldelema [mscorlib]System.Single
1126 .method public static int32 test_7_conv_ovf_u8_un () {
1128 .locals init (unsigned int64)
1138 .method public static int32 test_7_conv_ovf_u4_un () {
1140 .locals init (unsigned int32)
1150 .method public static int32 test_1_bug_74591 () {
1152 .locals init (int32)
1165 .class nested public auto ansi Integer
1166 extends [mscorlib]System.Object {
1168 .field public bool n
1170 .method public hidebysig specialname rtspecialname
1171 instance default void .ctor (unsigned int64 i, bool n) cil managed
1175 call instance void class [mscorlib]System.Object::.ctor()
1178 stfld bool Tests/Integer::n
1183 .method public static int32 test_1_bug_74726 () {
1192 newobj instance void class Tests/Integer::.ctor(unsigned int64, bool)
1193 ldfld bool Tests/Integer::n
1199 .class nested private auto ansi sealed xxx
1200 extends [mscorlib]System.ValueType
1202 .field public object a
1204 .method public hidebysig specialname rtspecialname
1205 instance default void .ctor () cil managed
1210 } // end of class xxx
1212 .method public static int32 test_0_newobj_vtype () {
1215 valuetype Tests/xxx V_0
1218 newobj instance void valuetype Tests/xxx::.ctor ()
1221 ldfld object Tests/xxx::a
1230 .method public static int32 test_0_newobj_vtype_primitive () {
1237 newobj instance void native int::'.ctor'(int32)
1249 .method public static int32 test_1_filters () {
1250 .custom instance void [TestDriver]CategoryAttribute::.ctor(string) = ( 01 00 08 21 42 49 54 43 4F 44 45 00 00 ) // ...!BITCODE..
1258 ldstr "OnErrorSub test Exception"
1259 newobj instance void class [mscorlib]System.Exception::.ctor(string)
1269 // Should not be called
1291 .class nested private auto ansi sealed beforefieldinit TheStruct
1292 extends [mscorlib]System.ValueType {
1293 .field public int32 a
1294 .field public int32 b
1297 .method public static int32 test_5_cpobj () {
1300 valuetype Tests/TheStruct v_0,
1301 valuetype Tests/TheStruct v_1
1306 stfld int32 Tests/TheStruct::a
1310 stfld int32 Tests/TheStruct::b
1314 cpobj Tests/TheStruct
1317 ldfld int32 Tests/TheStruct::a
1319 ldfld int32 Tests/TheStruct::b
1325 .method public static int32 test_5_ldobj_stloc_optimization () {
1328 valuetype Tests/TheStruct v_0,
1329 valuetype Tests/TheStruct v_1
1334 stfld int32 Tests/TheStruct::a
1338 stfld int32 Tests/TheStruct::b
1341 ldobj valuetype Tests/TheStruct
1345 ldfld int32 Tests/TheStruct::a
1347 ldfld int32 Tests/TheStruct::b
1353 .method public static int32 test_1_cpobj_reference () {
1360 newobj instance void object::.ctor()
1373 .method public static int32 test_1_initobj_reference () {
1379 newobj instance void object::.ctor()
1391 .method public static int32 test_1_ldobj_reference () {
1397 newobj instance void object::.ctor()
1407 .method public static int32 test_5_vtype_on_bb_boundary () {
1410 valuetype Tests/TheStruct v_0,
1411 valuetype Tests/TheStruct v_1
1416 stfld int32 Tests/TheStruct::a
1420 stfld int32 Tests/TheStruct::b
1427 ldfld int32 Tests/TheStruct::a
1429 ldfld int32 Tests/TheStruct::b
1434 .method public static int32 test_5_different_in_stacks () cil managed {
1458 .method public static int32 test_3_larray_get_set () {
1463 newobj instance void int32[0...]::.ctor(int32)
1468 call instance void int32[0...]::Set(int32, int32)
1472 call instance void int32[0...]::Set(int32, int32)
1476 call instance int32 int32[0...]::Get(int32)
1479 call instance int32 int32[0...]::Get(int32)
1484 .method public static int32 test_0_pop_side_effects () {
1493 catch [mscorlib]System.ArithmeticException {
1505 .method public static void regalloc_regress_78314_helper (object o) cil managed
1510 .method public static int32 test_1_regalloc_regress_78314 () cil managed
1512 // Code size 68 (0x44)
1514 .locals init (int32 V_0, bool V_1)
1517 IL_0002: br.s IL_003b
1520 IL_001e: ldc.i4.s 10
1523 IL_0022: ldc.i4.s 10
1527 IL_0028: box [mscorlib]System.Boolean
1528 IL_0032: call void Tests::regalloc_regress_78314_helper(object)
1535 IL_003f: blt.s IL_0004
1544 .method public static void try_block_end_remove_if_useless () cil managed {
1562 .try T_START to T1_END finally handler F1_START to F1_END
1565 .method public static int32 test_0_try_block_end_remove_if_useless () cil managed {
1566 call void class Tests::try_block_end_remove_if_useless ()
1571 .method private static int32 test_0_regress_78629_switch_next_ins_target () cil managed
1581 // This belongs to basic-float.cs, but its hard to tell mcs/csc to
1582 // generate the non .un version of the opcodes
1583 .method private static hidebysig
1584 default int32 test_4_float_branch_nan () cil managed
1586 // Method begins at RVA 0x27a4
1587 // Code size 74 (0x4a)
1593 IL_0000: ldc.r8 (00 00 00 00 00 00 f8 ff)
1601 IL_0018: bge.s IL_001a
1613 IL_0022: ble.s IL_002e
1624 IL_0036: blt.s IL_0038
1635 IL_0040: bgt.s IL_0042
1646 } // end of method Tests::test_5_float_branch_nan
1648 .method private static hidebysig
1649 default void regress_80622_inner (object x) cil managed
1651 .locals init (unsigned int8 i)
1652 // Method begins at RVA 0x2050
1653 // Code size 14 (0xe)
1656 IL_1001: unbox unsigned int8
1657 IL_1006: ldobj unsigned int8
1658 IL_000b: conv.ovf.i4.un
1664 .method private static hidebysig
1665 default int32 test_0_regress_80622 () cil managed
1669 IL_0005: box unsigned int8
1670 IL_000a: call void class Tests::regress_80622_inner (object)
1675 .method private static default int32 test_0_regresss_80190 () cil managed
1678 .locals init (int32 V_0,
1682 IL_0002: ldloca.s V_0
1693 .class interface nested public auto ansi abstract IFaceWithStaticMethod
1695 .method public static specialname
1696 default void foo () cil managed noinlining
1703 .class nested public auto ansi AClass extends [mscorlib]System.Object implements Tests/IFaceWithStaticMethod
1705 .method public hidebysig specialname rtspecialname
1706 instance default void .ctor () cil managed
1714 // Test that static methods in interfaces are ignored during vtable construction
1715 .method private static default int32 test_0_ifaces_with_static_methods () cil managed
1719 newobj instance void class Tests/AClass::.ctor()
1725 .method private static hidebysig default int32 Foo<T> (!!T n) cil managed {
1736 .method static public int32 test_0_nullable_box_brtrue () cil managed {
1738 .locals init (valuetype [mscorlib]System.Nullable`1<int32> V_0)
1741 call int32 class Tests::Foo<valuetype [mscorlib]System.Nullable`1<int32>> (!!0)
1746 .method static public int32 test_0_ldelema_type_check () cil managed {
1748 .locals init (object[] V_0,
1760 } catch [mscorlib]System.ArrayTypeMismatchException {
1774 } catch [mscorlib]System.ArrayTypeMismatchException {
1786 readonly. ldelema object
1788 } catch [mscorlib]System.ArrayTypeMismatchException {
1812 .method static public int32 test_0_array_address_type_check () cil managed {
1814 .locals init (object[] V_0,
1819 newobj instance void object[,]::.ctor(int32, int32)
1826 call instance object& object[,]::Address(int32, int32)
1828 } catch [mscorlib]System.ArrayTypeMismatchException {
1835 newobj instance void string[,]::.ctor(int32, int32)
1842 call instance object& object[,]::Address(int32, int32)
1844 } catch [mscorlib]System.ArrayTypeMismatchException {
1851 newobj instance void string[,]::.ctor(int32, int32)
1858 readonly. call instance object& object[,]::Address(int32, int32)
1860 } catch [mscorlib]System.ArrayTypeMismatchException {
1880 .field public static unsigned int64 'ull'
1882 .field public static int32 'shift2'
1884 .method public static int32 test_0_long_shift_regalloc () cil managed
1886 .locals init (unsigned int32 'cilsimp.28', unsigned int64 'cilsimp.27', int32 'cilsimp.26')
1890 ldc.i8 81985529234382576
1891 stsfld unsigned int64 Tests::ull
1893 stsfld int32 Tests::shift2
1895 ldsfld unsigned int64 Tests::ull
1897 ldsfld int32 Tests::shift2
1908 ldc.i8 1311768467750121216
1916 // Test calling ldfld directly on a vtype instead of a vtype address
1917 .method public static int32 test_5_call_ldfld_vtype () cil managed
1921 valuetype Tests/TailCallStruct arg
1925 stfld int32 Tests/TailCallStruct::a
1928 stfld int32 Tests/TailCallStruct::b
1930 call valuetype Tests/TailCallStruct Tests::tail2 (valuetype Tests/TailCallStruct)
1931 ldfld int32 Tests/TailCallStruct::a
1935 .method public static int32 throw_ret () cil managed
1938 newobj instance void class [mscorlib]System.OverflowException::.ctor(string)
1944 .method public static int32 throw2_ret () cil managed
1951 call int32 Tests::throw_ret ()
1955 // Test inlining a method which contains just a throw
1956 .method public static int32 test_0_inline_throw () cil managed
1964 call int32 Tests::throw2_ret ()
1967 } catch [mscorlib]System.OverflowException {
1980 .method public static int32 test_0_stelem_any_null_opt () cil managed
1988 newarr [mscorlib]System.Object
1999 stelem.any [mscorlib]System.Object
2014 .method public static hidebysig
2015 default int32 manyargs_callee (int32 a, int32 b, int32 c, int32 d, int32 e, int32 f, int32 g, int32 h, int32 i, int32 j, int32 k, int32 l, int32 m, int32 n, int32 o, int32 p) cil managed
2017 // Method begins at RVA 0x20f4
2018 // Code size 44 (0x2c)
2052 } // end of method main::callee
2055 .method public static hidebysig
2056 default int32 manyargs_tail_caller (int32 a, int32 b, int32 c, int32 d, int32 e, int32 f, int32 g, int32 h, int32 i, int32 j, int32 k, int32 l, int32 m, int32 n, int32 o, int32 p) cil managed
2058 // Method begins at RVA 0x2124
2059 // Code size 34 (0x22)
2084 IL_001c: call int32 class Tests::manyargs_callee(int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32)
2086 } // end of method main::caller
2089 .method public static hidebysig
2090 default int32 test_139_many_args_tail_call () cil managed
2092 // Some platforms might not be able to AOT tail calls
2093 .custom instance void class [TestDriver]CategoryAttribute::'.ctor'(string) = (01 00 08 21 46 55 4C 4C 41 4F 54 00 00 ) // ...!FULLAOT..
2095 // Method begins at RVA 0x2154
2096 // Code size 43 (0x2b)
2106 IL_0008: ldc.i4.s 0x09
2107 IL_000a: ldc.i4.s 0x0a
2108 IL_000c: ldc.i4.s 0x0b
2109 IL_000e: ldc.i4.s 0x0c
2110 IL_0010: ldc.i4.s 0x0d
2111 IL_0012: ldc.i4.s 0x0e
2112 IL_0014: ldc.i4.s 0x0f
2113 IL_0016: ldc.i4.s 0x10
2114 IL_0018: call int32 class Tests::manyargs_tail_caller(int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32, int32)
2116 } // end of method main::Main
2118 .class nested private auto ansi beforefieldinit R1
2119 extends [mscorlib]System.MarshalByRefObject
2121 .field public int32 test_field
2123 .method public hidebysig specialname rtspecialname
2124 instance default void '.ctor' () cil managed
2130 .method public static hidebysig
2131 default int32 return_0 () cil managed
2137 .method public static hidebysig
2138 default int32 test_1_volatile_marshalbyref_bug_432673 () cil managed
2144 newobj instance void class Tests/R1::.ctor ()
2149 stfld int32 Tests/R1::test_field
2150 call int32 class Tests::return_0 ()
2156 .method public static default int32 return_2 () cil managed
2166 .method public static hidebysig
2167 default int32 test_1_cmov_opt_regress_463357 () cil managed
2169 call int32 class Tests::return_2 ()
2182 .method public static hidebysig default int32 cmov_opt_regress_474718_inner (int32 A_1) cil managed
2185 .locals init (int32 V_0, bool V_1, bool V_2)
2194 IL_001f: brfalse IL_0036
2211 .method public static default int32 test_0_cmov_opt_regress_474718 () cil managed
2215 call int32 Tests::cmov_opt_regress_474718_inner (int32)
2219 .method public static default int32 test_5_createarr_newobj () cil managed
2224 newobj void char[]::.ctor(int32)
2229 .method public static default int32 test_0_initblk_3_regress_481458 () cil managed
2232 .locals init (native int)
2238 // Set the first value to 3
2245 // Zero out the first 3 values
2251 // Load the first value
2260 .method public static float32 GetFloat32() cil managed noinlining
2263 ldc.r8 0.19975845134874831
2267 /* Disabled until they can be fixed to run on amd64
2268 .method public static default int32 test_0_implicit_float_to_double_conversion () cil managed
2272 call float32 Tests::GetFloat32()
2273 ldc.r8 0.19975845134874831
2284 .method public static default int32 test_0_long_to_r8_un_overflow () cil managed
2287 ldc.i8 0x00FFFFFFFFFFFFFF
2290 ldc.i8 0x100000000000000
2296 ldc.i8 0x00FFFFFFFFFFFFFF
2300 ldc.i8 0x100000000000000
2310 .field public static int32 shift1
2312 .method public static int32 regress_497271_helper (int32 i) cil managed
2318 .method public static int32 test_0_regalloc_regress_497271 () cil managed
2320 .locals init (int32 var)
2323 stsfld int32 Tests::shift1
2324 ldsfld int32 Tests::shift1
2339 call int32 Tests::regress_497271_helper (int32)
2343 call int32 Tests::regress_497271_helper (int32)
2347 .field private static int32 Value
2349 .method public static hidebysig specialname
2350 default int32 regress_513931_inner () cil managed
2352 // Method begins at RVA 0x225c
2353 // Code size 52 (0x34)
2361 stsfld int32 Tests::Value
2364 IL_0001: ldsfld int32 Tests::Value
2373 IL_0010: brtrue.s IL_0027
2377 IL_0014: ldc.i4.s 0x7b
2383 IL_001d: brtrue.s IL_0023
2387 IL_0021: br.s IL_0032
2391 IL_0025: br.s IL_0032
2394 IL_002c: newobj instance void class [mscorlib]System.Exception::'.ctor'()
2400 .method public static hidebysig specialname
2401 default int32 test_0_regress_513931 () cil managed
2403 call int32 Tests::regress_513931_inner ()
2409 .method public static default int32 test_0_newarr_i8 () cil managed
2413 newarr [mscorlib]System.Boolean
2419 .method public static specialname
2420 default int32 return_1_noinline () cil managed noinlining
2428 // Only happens with -O=-deadce,cmov
2429 .method public static default int32 test_0_cmov_unused_582322 () cil managed
2435 call int32 Tests::return_1_noinline ()
2445 .method public static hidebysig
2446 default int32 test_0_regress_586664 () cil managed
2448 // Method begins at RVA 0x20f4
2449 // Code size 76 (0x4c)
2457 IL_001b: call float64 class [mscorlib]System.Math::Pow(float64, float64)
2461 IL_0023: newarr [mscorlib]System.Double
2476 IL_0036: ldc.r8 -0.5
2477 IL_003f: bne.un IL_004a
2486 .method public static int32 test_2_leave_multiple_blocks_from_end ()
2488 .locals init (int32 V_0)
2516 .method public static int32 test_3_leave_multiple_blocks_from_hole ()
2518 .locals init (int32 V_0)
2555 .class nested private auto ansi sealed beforefieldinit Pair`2<TKey,TValue>
2556 extends [mscorlib]System.ValueType
2558 .field public !0 key
2559 .field public !1 'value'
2562 .method private static hidebysig
2563 default bool ContentEquals<TKey,TValue> (valuetype Tests/Pair`2<!!TKey, !!TValue> v) cil managed
2568 constrained. valuetype Tests/Pair`2<!!0,!!1>
2569 IL_0007: callvirt instance bool class [mscorlib]System.Object::Equals(object)
2573 .method public static hidebysig default int32 test_0_constrained_gshared_595863 () cil managed
2576 valuetype Tests/Pair`2<string, string> V_0,
2577 valuetype Tests/Pair`2<string, string> V_1)
2579 IL_0002: initobj valuetype Tests/Pair`2<string,string>
2584 IL_0011: stfld !0 valuetype Tests/Pair`2<string,string>::key
2587 IL_001d: stfld !1 valuetype Tests/Pair`2<string,string>::'value'
2591 IL_0025: call bool class Tests::ContentEquals<string, string> (valuetype Tests/Pair`2<!!0,!!1>)
2600 .method public static default int32 test_0_wrap_non_exception_throws () cil managed
2602 .custom instance void [TestDriver]CategoryAttribute::.ctor(string) = ( 01 00 0C 21 49 4E 54 45 52 50 52 45 54 45 52 00 00 ) // ...!INTERPRETER.
2604 newobj instance void class [mscorlib]System.Object::'.ctor'()
2607 } catch class [mscorlib]System.Runtime.CompilerServices.RuntimeWrappedException {
2615 .method public static default int32 test_0_typespec_modopt () cil managed {
2616 ldtoken class Tests modopt (Tests)
2622 .method public hidebysig static int32 SizeOfT<T>() cil managed
2630 .method public static default int32 test_1_sizeof_gshared () cil managed {
2631 call int32 Tests::SizeOfT<int8>()
2637 .method public static default int32 test_1_sizeof_ref () cil managed {
2638 call int32 Tests::SizeOfT<object>()
2639 sizeof [mscorlib]System.IntPtr
2644 .field static public int32 volatile_int
2646 .method public static default int32 test_5_volatile_load_store () cil managed {
2647 ldsflda int32 class Tests::volatile_int
2651 ldsflda int32 class Tests::volatile_int
2657 .method public static
2658 default int32 regress_693905_inner (int32 x, int32 acc) cil managed
2660 // Method begins at RVA 0x2050
2661 // Code size 17 (0x11)
2664 IL_0001: brtrue.s IL_0005
2676 IL_000f: br.s IL_0000
2678 } // end of method Test::f
2680 .method public static
2681 default int32 test_10_regress_693905 () cil managed
2685 call int32 class Tests::regress_693905_inner(int32, int32)
2689 .method public static
2690 default int32 test_0_llvm_regress_171 () cil managed
2696 call int32 Tests::return_1_noinline ()
2701 call int32 Tests::return_1_noinline ()
2709 .field public static int32 static_a
2711 .method public static
2712 default int32 test_4_ldfld_stfld_static () cil managed
2716 stfld int32 Tests::static_a
2718 ldfld int32 Tests::static_a
2720 ldflda int32 Tests::static_a
2726 .method public static default int32 no_initlocals_inner () cil managed
2732 valuetype Tests/TailCallStruct V_3)
2737 .method public static default int32 test_0_no_initlocals () cil managed
2739 call int32 Tests::no_initlocals_inner()
2745 .method public hidebysig static int32 test_5_r4_fadd_mixed() cil managed
2747 // Code size 17 (0x11)
2749 .locals init (float32 V_0,
2762 .method public hidebysig static int32 test_0_fcmp_eq_r4_mixed() cil managed
2764 // Code size 32 (0x20)
2766 .locals init (float32 V_0,
2774 IL_0013: bne.un IL_001e
2781 } // end of method Tests::test_0_fcmp_eq_r4_mixed
2783 .method public hidebysig static int32 test_0_fceq_r4_mixed() cil managed
2785 // Code size 31 (0x1f)
2787 .locals init (float32 V_0,
2799 IL_0012: brfalse IL_001d
2806 } // end of method Tests::test_0_fceq_r4
2808 .method public static int32 test_0_switch_loop () cil managed
2811 .locals init (valuetype Tests/TailCallStruct V_0, int32 V_1)
2824 .method public static int32 test_2_fault () cil managed
2827 .locals init (int32 V_0)
2834 IL_0002: newobj instance void [mscorlib]System.Exception::.ctor()
2846 IL_000f: leave.s IL_0018
2849 catch [mscorlib]System.Object
2856 IL_0016: leave.s IL_0018
2863 .method public static int32 test_0_fault_no_exception () cil managed
2866 .locals init (int32 V_0)
2883 IL_000f: leave.s IL_0018
2886 catch [mscorlib]System.Object
2893 IL_0016: leave.s IL_0018
2900 .field private static int32 byte_val
2901 .field private static int32 short_val
2903 .method static int32 widen_arguments (unsigned int8 a, int8 b, int16 c, unsigned int16 d) cil managed noinlining
2906 ldsfld int32 Tests::byte_val
2915 ldsfld int32 Tests::byte_val
2925 ldsfld int32 Tests::short_val
2928 ldc.i4 -32768 //-0x8000
2935 ldsfld int32 Tests::short_val
2938 ldc.i4 32768 //0x8000
2949 .method public static int32 test_0_implicit_widen_of_argument_stores () cil managed
2953 This test verifies that storing an I4 value from the evail stack into a local variable triggers proper widening.
2954 The values are picked so storing them have different values depending on the sign'ness of the local variable.
2957 stsfld int32 Tests::byte_val
2959 stsfld int32 Tests::short_val
2965 call int32 Tests::widen_arguments (unsigned int8 a, int8 b, int16 c, unsigned int16 d)
2969 .method public static int32 test_0_implicit_widen_of_local_stores () cil managed
2979 This test verifies that storing an I4 value from the evail stack into a local variable triggers proper widening.
2980 The values are picked so storing them have different values depending on the sign'ness of the local variable.
2983 stsfld int32 Tests::byte_val
2985 stsfld int32 Tests::short_val
2987 ldsfld int32 Tests::byte_val
2996 ldsfld int32 Tests::byte_val
3005 ldsfld int32 Tests::short_val
3008 ldc.i4 -32768 //-0x8000
3014 ldsfld int32 Tests::short_val
3017 ldc.i4 32768 //0x8000
3027 .method public static bool llvm_regress_59436 () {
3028 // Code size 41 (0x29)
3030 .locals init (float64 V_0,
3032 valuetype [mscorlib]System.Decimal V_2)
3038 IL_0015: newobj instance void [mscorlib]System.Decimal::.ctor(float64)
3039 IL_001a: ldloca.s V_2
3041 IL_001d: call instance void [mscorlib]System.Decimal::.ctor(float64)
3043 IL_0023: call bool [mscorlib]System.Decimal::op_LessThanOrEqual(valuetype [mscorlib]System.Decimal,
3044 valuetype [mscorlib]System.Decimal)