Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 8e9c59d

Browse files
author
Sergey Andreenko
committed
add repro
1 parent cf1d6e4 commit 8e9c59d

File tree

2 files changed

+214
-0
lines changed

2 files changed

+214
-0
lines changed
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
// See the LICENSE file in the project root for more information.
4+
5+
// Test description
6+
7+
.assembly extern System.Runtime { auto }
8+
.assembly DevDiv_591210 {}
9+
10+
.class private auto ansi beforefieldinit DevDiv_591210
11+
extends [System.Runtime]System.Object
12+
{
13+
.method private hidebysig static uint64
14+
ILGEN_METHOD(int64 a,
15+
uint64 b,
16+
bool c,
17+
int16 d) cil managed
18+
{
19+
.maxstack 215
20+
.locals init (int64, int32, unsigned int8, int8, unsigned int64, unsigned int16, int16, native int, bool, float64, unsigned int8, bool, int16, bool, float32)
21+
22+
IL_0000: ldloc 0x0009
23+
IL_0004: conv.ovf.i8
24+
IL_0005: ldloc 0x000a
25+
IL_0009: conv.r8
26+
IL_000a: conv.ovf.i8
27+
IL_000b: xor
28+
IL_000c: ldarg.s 0x00
29+
IL_000e: pop
30+
IL_000f: ldloc.s 0x0c
31+
IL_0011: ldloc 0x0006
32+
IL_0015: mul.ovf
33+
IL_0016: conv.i8
34+
IL_0017: not
35+
IL_0018: pop
36+
IL_0019: neg
37+
IL_001a: ldloc.s 0x0e
38+
IL_001c: ldloc.s 0x09
39+
IL_001e: add
40+
IL_001f: ldc.r8 float64(0x283484984cfb905b)
41+
IL_0028: rem
42+
IL_0029: ldloc.s 0x09
43+
IL_002b: ceq
44+
IL_002d: ldloc.s 0x09
45+
IL_002f: ldloc 0x0009
46+
IL_0033: clt
47+
IL_0035: conv.ovf.u8
48+
IL_0036: pop
49+
IL_0037: pop
50+
IL_0038: nop
51+
IL_0039: ldloc.s 0x09
52+
IL_003b: ckfinite
53+
IL_003c: ckfinite
54+
IL_003d: conv.u8
55+
IL_003e: conv.ovf.i8
56+
IL_003f: ldloc.s 0x04
57+
IL_0041: pop
58+
IL_0042: stloc 0x0000
59+
IL_0046: ldloc 0x000e
60+
IL_004a: conv.i2
61+
IL_004b: ldloc.s 0x0d
62+
IL_004d: neg
63+
IL_004e: conv.r8
64+
IL_004f: ldloc.s 0x09
65+
IL_0051: cgt.un
66+
IL_0053: xor
67+
IL_0054: ldloc.s 0x09
68+
IL_0056: conv.ovf.u1
69+
IL_0057: mul
70+
IL_0058: ldc.r8 float64(0x53a4ba0aaef9974f)
71+
IL_0061: ldc.r8 float64(0xaf4298fd3c695a11)
72+
IL_006a: cgt.un
73+
IL_006c: rem
74+
IL_006d: neg
75+
IL_006e: conv.ovf.i8
76+
IL_006f: conv.ovf.i8
77+
IL_0070: bgt
78+
IL_009b
79+
IL_0075: ldloc.s 0x0e
80+
IL_0077: ldloc 0x0009
81+
IL_007b: div
82+
IL_007c: conv.ovf.u8.un
83+
IL_007d: ldloc.s 0x08
84+
IL_007f: not
85+
IL_0080: shr
86+
IL_0081: conv.r.un
87+
IL_0082: conv.r8
88+
IL_0083: neg
89+
IL_0084: neg
90+
IL_0085: conv.ovf.i1
91+
IL_0086: ldarg 0x0002
92+
IL_008a: conv.r4
93+
IL_008b: conv.r8
94+
IL_008c: dup
95+
IL_008d: dup
96+
IL_008e: div
97+
IL_008f: clt
98+
IL_0091: ldloc.s 0x0c
99+
IL_0093: starg.s 0x03
100+
IL_0095: pop
101+
IL_0096: neg
102+
IL_0097: conv.r8
103+
IL_0098: nop
104+
IL_0099: conv.ovf.i4.un
105+
IL_009a: pop
106+
IL_009b: ldc.r8 float64(0x98c5ef60f979ba96)
107+
IL_00a4: ldloc.s 0x09
108+
IL_00a6: ldloc.s 0x09
109+
IL_00a8: rem
110+
IL_00a9: rem
111+
IL_00aa: ckfinite
112+
IL_00ab: ckfinite
113+
IL_00ac: pop
114+
IL_00ad: ldc.i8 0x4780e434f6aa6979
115+
IL_00b6: ldloc.s 0x0e
116+
IL_00b8: conv.u8
117+
IL_00b9: ldloc 0x0004
118+
IL_00bd: xor
119+
IL_00be: conv.ovf.u8.un
120+
IL_00bf: ldloc 0x0000
121+
IL_00c3: ldloc 0x0009
122+
IL_00c7: conv.ovf.u2
123+
IL_00c8: ldloc 0x0002
124+
IL_00cc: mul.ovf
125+
IL_00cd: neg
126+
IL_00ce: shr
127+
IL_00cf: conv.r4
128+
IL_00d0: pop
129+
IL_00d1: clt
130+
IL_00d3: neg
131+
IL_00d4: not
132+
IL_00d5: conv.i8
133+
IL_00d6: ret
134+
} // end of method DevDiv_591210::ILGEN_METHOD
135+
136+
.method private hidebysig static int32
137+
Main() cil managed
138+
{
139+
.entrypoint
140+
// Code size 30 (0x1e)
141+
.maxstack 4
142+
.locals init (int32 V_0)
143+
IL_0000: nop
144+
.try
145+
{
146+
IL_0001: nop
147+
IL_0002: ldc.i4.s 100
148+
IL_0004: conv.i8
149+
IL_0005: ldc.i4.0
150+
IL_0006: conv.i8
151+
IL_0007: ldc.i4.0
152+
IL_0008: ldc.i4.1
153+
IL_0009: call uint64 DevDiv_591210::ILGEN_METHOD(int64,
154+
uint64,
155+
bool,
156+
int16)
157+
IL_000e: pop
158+
IL_000f: nop
159+
IL_0010: leave.s IL_0017
160+
161+
} // end .try
162+
catch [System.Runtime]System.Object
163+
{
164+
IL_0012: pop
165+
IL_0013: nop
166+
IL_0014: nop
167+
IL_0015: leave.s IL_0017
168+
169+
} // end handler
170+
IL_0017: ldc.i4.s 100
171+
IL_0019: stloc.0
172+
IL_001a: br.s IL_001c
173+
174+
IL_001c: ldloc.0
175+
IL_001d: ret
176+
} // end of method DevDiv_591210::Main
177+
178+
.method public hidebysig specialname rtspecialname
179+
instance void .ctor() cil managed
180+
{
181+
// Code size 8 (0x8)
182+
.maxstack 8
183+
IL_0000: ldarg.0
184+
IL_0001: call instance void [System.Runtime]System.Object::.ctor()
185+
IL_0006: nop
186+
IL_0007: ret
187+
} // end of method DevDiv_591210::.ctor
188+
189+
} // end of class DevDiv_591210
190+
191+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
8+
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
9+
<OutputType>Exe</OutputType>
10+
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
11+
</PropertyGroup>
12+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup>
13+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "></PropertyGroup>
14+
<PropertyGroup>
15+
<DebugType>None</DebugType>
16+
<Optimize>True</Optimize>
17+
</PropertyGroup>
18+
<ItemGroup>
19+
<Compile Include="$(MSBuildProjectName).il" />
20+
</ItemGroup>
21+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
22+
<PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup>
23+
</Project>

0 commit comments

Comments
 (0)