Test case for bug #80489.
[mono.git] / mono / tests / long-shift-regalloc.il
1 .assembly extern mscorlib
2 {
3         .ver 0:0:0:0
4 }
5 .assembly 'long-shift-regalloc'
6 {
7   .hash algorithm 0x00008004
8   .ver  0:0:0:0
9 }
10
11 .module '<Module>'
12
13 .method public static int32 '.start'(class [mscorlib]System.String[] 'args') cil managed
14 {
15         .entrypoint
16         .maxstack 3
17         .locals (int32 'argc', int8** 'argv', int8** 'env')
18
19         ldc.i8  81985529234382576
20         stsfld  unsigned int64 'ull'
21
22         ldc.i4  60
23         stsfld  int32 'shift2'
24
25         call    int32 main()
26         ret
27 } // .start
28
29
30 .method public static int32 'main' () cil managed
31 {
32         .locals (unsigned int32 'cilsimp.28', unsigned int64 'cilsimp.27', int32 'cilsimp.26')
33
34         ldsfld  unsigned int64 'ull'
35         stloc   'cilsimp.27'
36         ldsfld  int32 'shift2'
37         stloc   'cilsimp.28'
38         ldloc   'cilsimp.27'
39         ldloc   'cilsimp.28'
40         shr.un
41         ldloc   'cilsimp.27'
42         ldc.i4  64
43         ldloc   'cilsimp.28'
44         sub
45         shl
46         or
47         ldc.i8  1311768467750121216
48         ceq
49         ldc.i4.1
50         xor
51         conv.u4
52         ret
53         .maxstack 4
54
55 } // main
56
57 .field public  static unsigned int64 'ull'
58
59 .field public  static int32 'shift2'
60