forked from dotnet/runtime
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRuntime_114358.cs
More file actions
71 lines (61 loc) · 2.55 KB
/
Runtime_114358.cs
File metadata and controls
71 lines (61 loc) · 2.55 KB
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
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// Found by Antigen
// Reduced from 206.63 KB to 1.9 KB.
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;
using System.Runtime.Intrinsics.X86;
using System.Numerics;
using Xunit;
public class TestClass_114358
{
public struct S1
{
public int int_1;
}
static byte s_byte_4 = 1;
static Vector64<short> s_v64_short_20 = Vector64.Create(94, -2, 3, 3);
static Vector128<byte> s_v128_byte_28 = Vector128.Create((byte)2);
static Vector128<ushort> s_v128_ushort_31 = Vector128.Create((ushort)32766);
Vector64<short> v64_short_70 = Vector64<short>.AllBitsSet;
Vector128<byte> v128_byte_78 = Vector128.CreateScalar((byte)0);
Vector128<short> v128_short_80 = Vector128.Create(-2, 0, 2, 94, 3, 0, 3, 0);
Vector128<ushort> v128_ushort_81 = Vector128<ushort>.AllBitsSet;
private static List<string> toPrint = new List<string>();
internal void Method0()
{
unchecked
{
S1 s1_172 = new S1();
s_v128_ushort_31 = Vector128.LessThan(s_v128_ushort_31 -= Vector128<ushort>.Zero | v128_ushort_81, AdvSimd.AddWideningUpper(v128_ushort_81 & v128_ushort_81, s_v128_byte_28 = v128_byte_78));
v128_short_80 = AdvSimd.ExtractVector128(AdvSimd.MultiplyByScalar(v128_short_80 - v128_short_80, AdvSimd.MultiplySubtractByScalar(v64_short_70, s_v64_short_20, v64_short_70)), v128_short_80 - v128_short_80, s_byte_4);
s_v64_short_20 = AdvSimd.ShiftRightLogicalRoundedAdd(v64_short_70 -= v64_short_70 += v64_short_70, v64_short_70 + Vector64<short>.AllBitsSet + v64_short_70 + Vector64<short>.AllBitsSet & v64_short_70, s_byte_4 >>= s1_172.int_1 <<= 15 + 4);
return;
}
}
[Fact]
public static void Repro()
{
if (AdvSimd.IsSupported)
{
new TestClass_114358().Method0();
}
}
}
/*
Environment:
set DOTNET_AltJit=Method0
set DOTNET_AltJitName=clrjit_universal_arm64_x64.dll
set DOTNET_EnableWriteXorExecute=0
set DOTNET_JitDisasm=Method0
set DOTNET_JitStressRegs=2
set DOTNET_TieredCompilation=0
Debug: 1639727076
Release: 0
JIT assert failed:
Assertion failed '(targetReg == op1Reg) || (targetReg != op3Reg)' in 'TestClass:Method0():this' during 'Generate code' (IL size 298; hash 0x46e9aa75; FullOpts)
File: /Users/runner/work/1/s/src/coreclr/jit/hwintrinsiccodegenarm64.cpp Line: 416
*/