Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JIT SVE: Assertion failed '(targetReg == op1Reg) || (targetReg != op3Reg)' during 'Generate code' #106866

Closed
jakobbotsch opened this issue Aug 23, 2024 · 4 comments · Fixed by #107084
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI arm-sve Work related to arm64 SVE/SVE2 support in-pr There is an active PR which will close this issue when it is merged Priority:2 Work that is important, but not critical for the release
Milestone

Comments

@jakobbotsch
Copy link
Member

// 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()
    {
        var vr0 = this.F2;
        var vr1 = this.F2;
        var vr2 = this.F2;
        this.F2 = Sve.Splice(vr0, vr1, vr2);
        Program.s_rt.WriteLine(this.F0);
    }
}

public class Program
{
    public static IRuntime s_rt;
    public static void Main()
    {
        new S0().M3();
    }
}

public interface IRuntime
{
    void WriteLine<T>(T value);
}

public class Runtime : IRuntime
{
    public void WriteLine<T>(T value) => System.Console.WriteLine(value);
}

cc @dotnet/arm64-contrib @dotnet/jit-contrib

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 23, 2024
@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Aug 23, 2024
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@jakobbotsch jakobbotsch changed the title JIT: Assertion failed '(targetReg == op1Reg) || (targetReg != op3Reg)' during 'Generate code' JIT SVE: Assertion failed '(targetReg == op1Reg) || (targetReg != op3Reg)' during 'Generate code' Aug 23, 2024
@jakobbotsch jakobbotsch added the arm-sve Work related to arm64 SVE/SVE2 support label Aug 23, 2024
@a74nh a74nh added Priority:2 Work that is important, but not critical for the release and removed untriaged New issue has not been triaged by the area owner labels Aug 27, 2024
@a74nh a74nh added this to the 9.0.0 milestone Aug 27, 2024
@a74nh a74nh self-assigned this Aug 27, 2024
@a74nh
Copy link
Contributor

a74nh commented Aug 27, 2024

This will also be fixed by #107036.

Should I put this test case into that PR too? And can I mark that PR also fixes this issue?

@jakobbotsch
Copy link
Member Author

Sure, sounds good to do it like that.

@ergunr

This comment was marked as off-topic.

@dotnet-policy-service dotnet-policy-service bot added the in-pr There is an active PR which will close this issue when it is merged label Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI arm-sve Work related to arm64 SVE/SVE2 support in-pr There is an active PR which will close this issue when it is merged Priority:2 Work that is important, but not critical for the release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants