dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.96k stars 4.65k forks source link

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

Closed jakobbotsch closed 2 days ago

jakobbotsch commented 3 weeks ago
// 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-policy-service[bot] commented 3 weeks ago

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

a74nh commented 2 weeks ago

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 commented 2 weeks ago

Sure, sounds good to do it like that.

ergunr commented 2 weeks ago

Envoyé de mon iPhone

Le 27 août 2024 à 19:13, Alan Hayward @.***> a écrit :



This will also be fixed by #107036https://github.com/dotnet/runtime/pull/107036.

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

— Reply to this email directly, view it on GitHubhttps://github.com/dotnet/runtime/issues/106866#issuecomment-2312989661, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUW2LQ22LF5YP3BGE4B5LJTZTSQT7AVCNFSM6AAAAABM734YUWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJSHE4DSNRWGE. You are receiving this because you are subscribed to this thread.Message ID: @.***>