ret
}
- .method static public int32 test_0_tail_calls () il managed {
+ .class nested private auto ansi sealed beforefieldinit TailCallStructBig
+ extends [mscorlib]System.ValueType {
+ .field public int32 a
+ .field public int32 b
+ .field public int32 c
+ .field public int32 d
+ .field public int32 e
+ }
+
+ .method static valuetype Tests/TailCallStructBig tail_vret_by_addr_inner (valuetype Tests/TailCallStructBig arg) {
+ ldarga 0
+ ldarga 0
+ ldfld int32 Tests/TailCallStructBig::a
+ ldc.i4.1
+ add
+ stfld int32 Tests/TailCallStructBig::a
+ ldarg.0
+ ret
+ }
+
+ .method static valuetype Tests/TailCallStructBig tail_vret_by_addr (valuetype Tests/TailCallStructBig arg) {
+ ldarg.0
+ tail.
+ call valuetype Tests/TailCallStructBig Tests::tail_vret_by_addr_inner (valuetype Tests/TailCallStructBig)
+ ret
+ }
+
+ .method static public int32 test_3_tail_call_vret_by_addr () il managed {
+ .maxstack 16
+ .locals init (
+ valuetype Tests/TailCallStructBig arg2
+ )
+
+ ldloca 0
+ ldc.i4.2
+ stfld int32 Tests/TailCallStructBig::a
+ ldloc.0
+ call valuetype Tests/TailCallStructBig Tests::tail_vret_by_addr (valuetype Tests/TailCallStructBig)
+ stloc.0
+
+ ldloca 0
+ ldfld int32 Tests/TailCallStructBig::a
+ ret
+ }
+
+ .method static public int32 test_9_tail_call_vret_by_val () il managed {
.maxstack 16
.locals init (
valuetype Tests/TailCallStruct arg
ldloc.0
call valuetype Tests/TailCallStruct Tests::tail2 (valuetype Tests/TailCallStruct)
stloc.0
+
ldloca 0
ldfld int32 Tests/TailCallStruct::a
ldloca 0
ldfld int32 Tests/TailCallStruct::b
add
- ldc.i4 9
- sub
ret
}
ret
}
-#if !defined(__ppc__) && !defined(__powerpc__)
+#if !defined(__ppc__) && !defined(__powerpc__) && !defined(__arm__)
// 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
}
*/
+
+ .field public static int32 shift1
+
+ .method public static int32 regress_497271_helper (int32 i) cil managed
+ {
+ ldarg.0
+ ret
+ }
+
+ .method public static int32 test_0_regalloc_regress_497271 () cil managed
+ {
+ .locals (int32 var)
+
+ ldc.i4 4
+ stsfld int32 Tests::shift1
+ ldsfld int32 Tests::shift1
+ stloc var
+ ldc.i4 4660
+ ldloc var
+ shr.un
+ ldc.i4 4660
+ ldc.i4 32
+ ldloc var
+ sub
+ shl
+ or
+ ldc.i4 1073742115
+ beq ?L10
+?L9:
+ ldc.i4 1
+ call int32 Tests::regress_497271_helper (int32)
+ ret
+?L10:
+ ldc.i4 0
+ call int32 Tests::regress_497271_helper (int32)
+ ret
+ }
+
}