Skip to content

JIT SVE: Assertion failed 'secondId->idReg1() != secondId->idReg4()' during 'Emit code'  #106867

Closed
@jakobbotsch

Description

@jakobbotsch
// Generated by Fuzzlyn v2.3 on 2024-08-23 10:10:06
// Run on Arm64 Windows
// Seed: 13584223539078280353-vectort,vector64,vector128,armsve
// Reduced from 87.4 KiB to 0.8 KiB in 00:00:52
// Hits JIT assert in Release:
// Assertion failed 'secondId->idReg1() != secondId->idReg4()' in 'S0:M6(ubyte,double):this' during 'Emit code' (IL size 81; hash 0x596acd7c; FullOpts)
//
//     File: C:\dev\dotnet\runtime2\src\coreclr\jit\emitarm64sve.cpp Line: 18601
//
using System;
using System.Numerics;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;

public struct S0
{
    public void M6(byte arg0, double arg1)
    {
        var vr0 = Vector128.CreateScalar(119.12962f).AsVector();
        var vr3 = Program.s_2;
        var vr4 = Vector128.CreateScalar(1f).AsVector();
        var vr5 = Program.s_2;
        var vr2 = Sve.FusedMultiplySubtractNegated(vr3, vr4, vr5);
        if ((Sve.ConditionalExtractLastActiveElement(vr0, 0, vr2) < 0))
        {
            this = this;
        }
    }
}

public class Program
{
    public static Vector<float> s_2;
    public static double[] s_5 = new double[]
    {
        0
    };
    public static byte s_16;
    public static void Main()
    {
        var vr6 = s_5[0];
        new S0().M6(s_16, vr6);
    }
}

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

Metadata

Metadata

Assignees

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