dotnet / runtime

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

JIT SVE: Assertion failed 'intrin.op3->IsVectorZero()' during 'Generate code' #106872

Closed jakobbotsch closed 1 week ago

jakobbotsch commented 3 weeks ago
// Generated by Fuzzlyn v2.3 on 2024-08-23 10:51:00
// Run on Arm64 Windows
// Seed: 11139641262794602128-vectort,vector64,vector128,armsve
// Reduced from 38.6 KiB to 0.6 KiB in 00:00:32
// Hits JIT assert in Release:
// Assertion failed 'intrin.op3->IsVectorZero()' in 'Program:Main(Fuzzlyn.ExecutionServer.IRuntime)' during 'Generate code' (IL size 100; hash 0xade6b36b; FullOpts)
//
//     File: C:\dev\dotnet\runtime2\src\coreclr\jit\hwintrinsiccodegenarm64.cpp Line: 755
//
using System;
using System.Numerics;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;

public class C2
{
    public Vector<double> F3;
}

public class Program
{
    public static C2[] s_1;
    public static void Main()
    {
        var vr4 = Vector128.CreateScalar(728.8837854670671d).AsVector();
        var vr5 = Vector128.CreateScalar(1103.750484880559d).AsVector();
        var vr6 = Vector128.CreateScalar(-1881.6772519539704d).AsVector();
        var vr7 = s_1[0].F3;
        s_1[0].F3 = Sve.ConditionalSelect(vr4, Sve.AddSequentialAcross(vr6, vr7), vr5);
    }
}

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.