forked from dotnet/runtime
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM64-SVE: Allow op inside conditionalselect to be non HWintrinsic (d…
…otnet#107180) * ARM64-SVE: Allow op inside conditionselect to be non HWintrinsic * Add Sve.IsSupported check to test
- Loading branch information
Showing
3 changed files
with
103 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
59 changes: 59 additions & 0 deletions
59
src/tests/JIT/Regression/JitBlue/Runtime_106869/Runtime_106869.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
// Licensed to the .NET Foundation under one or more agreements. | ||
// The .NET Foundation licenses this file to you under the MIT license. | ||
|
||
using Xunit; | ||
using System.Runtime.CompilerServices; | ||
|
||
// Generated by Fuzzlyn v2.3 on 2024-08-23 10:25:51 | ||
// Run on Arm64 Windows | ||
// Seed: 13938901376337307772-vectort,vector64,vector128,armsve | ||
// Reduced from 210.5 KiB to 1.1 KiB in 00:02:19 | ||
// Hits JIT assert in Release: | ||
// Assertion failed 'nestedOp2->OperIsHWIntrinsic()' in 'Program:Main(Fuzzlyn.ExecutionServer.IRuntime)' during 'Lowering nodeinfo' (IL size 119; hash 0xade6b36b; FullOpts) | ||
// | ||
// File: C:\dev\dotnet\runtime2\src\coreclr\jit\lowerarmarch.cpp Line: 4062 | ||
// | ||
using System; | ||
using System.Numerics; | ||
using System.Runtime.Intrinsics; | ||
using System.Runtime.Intrinsics.Arm; | ||
|
||
public struct S0 | ||
{ | ||
public ulong F5; | ||
} | ||
|
||
public class C0 | ||
{ | ||
public int F1; | ||
} | ||
|
||
public class Runtime_1068867 | ||
{ | ||
public static S0 s_7; | ||
public static byte s_14; | ||
|
||
[Fact] | ||
public static void TestEntryPoint() | ||
{ | ||
if (Sve.IsSupported) | ||
{ | ||
var vr12 = new C0(); | ||
var vr14 = vr12.F1; | ||
var vr15 = Vector128.CreateScalar(vr14).AsVector(); | ||
var vr16 = Vector128.CreateScalar(0).AsVector(); | ||
var vr17 = Vector128.CreateScalar(0).AsVector(); | ||
var vr18 = Vector128.CreateScalar(0).AsVector(); | ||
var vr19 = Vector128.CreateScalar(1).AsVector(); | ||
var vr20 = Sve.ConditionalSelect(vr17, vr18, vr19); | ||
var vr21 = Vector128.CreateScalar(0).AsVector(); | ||
var vr22 = Sve.ConditionalSelect(vr16, vr20, vr21); | ||
Consume(vr22); | ||
} | ||
} | ||
|
||
[MethodImpl(MethodImplOptions.NoInlining)] | ||
static void Consume<T>(T val) | ||
{ | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
src/tests/JIT/Regression/JitBlue/Runtime_106869/Runtime_106869.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
<PropertyGroup> | ||
<Optimize>True</Optimize> | ||
<NoWarn>$(NoWarn),SYSLIB5003</NoWarn> | ||
</PropertyGroup> | ||
<ItemGroup> | ||
<Compile Include="$(MSBuildProjectName).cs" /> | ||
</ItemGroup> | ||
</Project> |