-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[release/9.0]: ARM64-SVE: Allow SVE ops to re-use the same registers (#…
…107818) * ARM64-SVE: Allow SVE ops to re-use the same registers (#107084) * ARM64-SVE: Allow SVE ops to re-use the same registers * Add Sve.IsSupported * restore an assert * better asserts * resolve merge conflicts --------- Co-authored-by: Alan Hayward <a74nh@users.noreply.github.com> Co-authored-by: Jeff Schwartz <jeffschw@microsoft.com>
- Loading branch information
1 parent
46cfb74
commit e256321
Showing
5 changed files
with
125 additions
and
14 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
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
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
50 changes: 50 additions & 0 deletions
50
src/tests/JIT/Regression/JitBlue/Runtime_106866/Runtime_106866.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,50 @@ | ||
// 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:04:52 | ||
// Run on Arm64 Windows | ||
// Seed: 12028719405363964033-vectort,vector64,vector128,armsve | ||
// Reduced from 60.4 KiB to 0.7 KiB in 00:00:33 | ||
// Hits JIT assert in Release: | ||
// Assertion failed '(targetReg == op1Reg) || (targetReg != op3Reg)' in 'S0:M3():this' during 'Generate code' (IL size 57; hash 0x4541fc9f; FullOpts) | ||
// | ||
// File: C:\dev\dotnet\runtime2\src\coreclr\jit\hwintrinsiccodegenarm64.cpp Line: 1128 | ||
// | ||
using System; | ||
using System.Numerics; | ||
using System.Runtime.Intrinsics; | ||
using System.Runtime.Intrinsics.Arm; | ||
|
||
public struct S0 | ||
{ | ||
public bool F0; | ||
public Vector<sbyte> F2; | ||
public void M3() | ||
{ | ||
if (Sve.IsSupported) | ||
{ | ||
var vr0 = this.F2; | ||
var vr1 = this.F2; | ||
var vr2 = this.F2; | ||
this.F2 = Sve.Splice(vr0, vr1, vr2); | ||
Consume(this.F0); | ||
} | ||
} | ||
|
||
[MethodImpl(MethodImplOptions.NoInlining)] | ||
static void Consume<T>(T val) | ||
{ | ||
} | ||
} | ||
|
||
public class Runtime_106866 | ||
{ | ||
[Fact] | ||
public static void TestEntryPoint() | ||
{ | ||
new S0().M3(); | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
src/tests/JIT/Regression/JitBlue/Runtime_106866/Runtime_106866.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> |