summaryrefslogtreecommitdiff
path: root/tests/src/JIT/Regression/JitBlue/DevDiv_362706/DevDiv_362706.il
blob: a5b7a6dbb6bad32212786a114ffc90028b80ac24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
// Reading from 'C:\SuperPMI\compiler_hpp__1784____Assertion_failed__lvRefCnt.mc' dumping raw IL for MC Indexes to console
// ProcessName - 'ILGEN'
.assembly extern mscorlib{}
.assembly DevDiv_362706{}
.class C extends [mscorlib]System.Object
{
   .method static unsigned int64 M(float32, int32) cil managed noinlining
   {
      .maxstack  65535
      .locals init (unsigned int8, native unsigned int)

      ldc.i8 0x085d689753da3de1
      ldc.i8 0xe61597946032e570
      clt.un
      conv.u8
      ldc.i8 0x7982285f972837bd
      ldc.i8 0xbff060a0e0e2eeba
      sub
      ldloc 0x0001
      shl
      mul.ovf
      ldarg.s 0x00
      starg.s 0x00
      brtrue IL_005f
      ldc.i8 0xbcb846d27e2968bf
      conv.r.un
      ckfinite
      pop
      ldarg.s 0x01
      conv.ovf.i8
      ldc.i8 0xe3b63c00f2954a6c
      ldc.i8 0x3332cfb7aa00a0b0
      div.un
      clt
      stloc 0x0001

IL_005f:
      ldloc 0x0000
      ldc.i4 0x1ef1d296
      ldc.r8 float64(0x157cd4c7a3c884f1)
      ldc.r8 float64(0xa5da6ecb57585851)
      add
      ckfinite
      neg
      conv.r.un
      conv.ovf.i4.un
      cgt.un
      not
      or
      ldarg.s 0x00
      conv.r.un
      ldarg 0x0000
      ldc.i8 0x9cb75a81b3443e9c
      conv.ovf.u8.un
      conv.i4
      pop
      neg
      cgt.un
      ldloc 0x0001
      ldc.i4 0x1bf905b2
      ldloc.s 0x00
      xor
      rem
      ldloc.s 0x00
      ldc.r8 float64(0x94424127b67875d0)
      ldc.i8 0x96e1b4664d5ad509
      conv.ovf.i2
      conv.r4
      add
      conv.ovf.u2.un
      shr.un
      shr
      ldc.i8 0x1919368cc08e5eb1
      ldc.i8 0x4b6a3f418d2e0236
      ceq
      ceq
      starg.s 0x01
      bgt IL_011a
      ldarg.s 0x00
      conv.ovf.i8.un
      ldloc 0x0000
      ldc.r8 float64(0x7e83ec1e8c2e0e94)
      conv.ovf.i2
      shl
      not
      not
      conv.i8
      conv.ovf.u8
      ldc.i4 0x8a3055bd
      neg
      ldarg 0x0001
      xor
      conv.i8
      ldc.i4 0xa2d0ea18
      shr.un
      ldc.i8 0x53ac012d34eb9f44
      xor
      neg
      add
      ldarg 0x0000
      conv.ovf.u4.un
      shr
      or
      conv.r8
      pop

IL_011a:
      ldarg 0x0000
      neg
      ldarg 0x0000
      neg
      div
      ldloc.s 0x01
      ldarg 0x0001
      ldloc 0x0000
      ldloc 0x0001
      and
      shl
      mul.ovf.un
      starg.s 0x01
      ldc.i4 0xc47fec23
      conv.r8
      div
      conv.ovf.i8.un
      not
      ldc.r8 float64(0x401dee505a2add2e)
      ldc.i8 0x0dc5a76cd1306317
      conv.i1
      conv.r8
      add
      conv.r4
      conv.ovf.i1.un
      nop
      stloc.s 0x00
      nop
      ret
   }

   .method static int32 Main() cil managed
   {
       .entrypoint

       .try
       {
           ldc.r4		float32(0xFF800000)
           ldc.i4.s   25
           call unsigned int64 C::M(float32, int32)
           pop
           leave.s done
       }
       catch [mscorlib]System.Exception
       {
           pop
           leave.s done
       }

   done:
       ldc.i4 100
       ret
   }
}
// Dumped 1