blob: f5c9aa281b2aa63441465d4f5995e2f3ddf2d56e (
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
|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
namespace bug
{
class Program
{
static int Pass = 100;
static int Fail = -1;
// This test is meant to check that in case of
// GT_EQ/NE(shift, 0), JIT doesn't optimize out
// 'test' instruction incorrectly, because shift
// operations on xarch don't modify flags if the
// shift count is zero.
static int Main(string[] args)
{
// Absolute bits
int bitCount = 0;
while ((0 != (100 >> bitCount)) && (31 > bitCount))
{
bitCount++;
}
// Sign bit
bitCount++;
if (bitCount != 8)
{
return Fail;
}
return Pass;
}
}
}
|