Skip to content

JIT SVE: Assertion failed '!"Got unexpected instruction format after MOVPRFX"' during 'Emit code' #106868

@jakobbotsch

Description

@jakobbotsch
// Generated by Fuzzlyn v2.3 on 2024-08-23 10:17:54
// Run on Arm64 Windows
// Seed: 14752078066107523191-vectort,vector64,vector128,armsve
// Reduced from 52.7 KiB to 0.7 KiB in 00:00:54
// Hits JIT assert in Release:
// Assertion failed '!"Got unexpected instruction format after MOVPRFX"' in 'Program:Main(Fuzzlyn.ExecutionServer.IRuntime)' during 'Emit code' (IL size 54; hash 0xade6b36b; FullOpts)
//
//     File: C:\dev\dotnet\runtime2\src\coreclr\jit\emitarm64sve.cpp Line: 18623
//
using System;
using System.Numerics;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;

public struct S2
{
    public Vector<int> F2;
}

public class Program
{
    public static S2 s_1;
    public static void Main()
    {
        var vr12 = Vector.Create<int>(0);
        var vr13 = Vector.Create<int>(0);
        var vr14 = M4();
        var vr15 = Vector128.CreateScalar(vr14).AsVector();
        var vr16 = Sve.AndAcross(vr13);
        s_1.F2 = Sve.ConditionalSelect(vr12, vr16, vr15);
    }

    public static int M4()
    {
        Vector<long> vr17 = default(Vector<long>);
        var vr11 = Vector.Create<long>(0);
        var vr8 = Sve.SubtractSaturate(vr17, vr11);
        return 1;
    }
}

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

Metadata

Metadata

Labels

Priority:2Work that is important, but not critical for the releasearea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIarm-sveWork related to arm64 SVE/SVE2 supportin-prThere is an active PR which will close this issue when it is merged

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions