Skip to content

JIT: [runtime async] Assertion failed 'value.getHigh() == RBM_NONE' during 'Generate code' #118925

@jakobbotsch

Description

@jakobbotsch
// Generated by Fuzzlyn v3.3 on 2025-08-20 11:37:03
// Run on Arm64 Windows
// Seed: 14710382777097304768-async,runtimeasync,vectort,vector64,vector128,armadvsimd,armadvsimdarm64,armaes,armarmbase,armarmbasearm64,armcrc32,armcrc32arm64,armdp,armrdm,armrdmarm64,armsha1,armsha256,armsve,armsve2
// Reduced from 355.9 KiB to 2.3 KiB in 00:10:56
// Hits JIT assert for Release with Runtime Async:
// Assertion failed 'value.getHigh() == RBM_NONE' in 'C1:M10():I0[]:this' during 'Generate code' (IL size 304; hash 0xf9d978b9; FullOpts)
// 
//     File: D:\a\_work\1\s\src\coreclr\jit\compiler.hpp Line: 107
// 
using System.Numerics;
using System.Threading.Tasks;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;

public interface I0
{
}

public class C0 : I0
{
}

public class C1
{
    public bool F2;
    public async Task<I0[]> M10()
    {
        if (this.F2)
        {
            if (!this.F2)
            {
                for (ushort lvar0 = 65437; lvar0 > 65435; lvar0--)
                {
                    await Task.Yield();
                    var vr8 = (sbyte)Sve.Count16BitElements();
                    var vr1 = Vector128.CreateScalar(vr8).AsVector();
                    var vr13 = (sbyte)1;
                    var vr10 = Vector128.CreateScalar(vr13).AsVector();
                    if (Sve.TestFirstTrue(vr1, vr10))
                    {
                        System.Console.WriteLine(2L);
                    }
                }
            }
        }
        else
        {
            var vr2 = new C1();
            var vr12 = Program.s_21;
            var vr14 = Program.s_24;
            var vr16 = Vector.Create<sbyte>(0);
            var vr20 = Program.s_21;
            var vr19 = Vector128.CreateScalar(vr20).AsVector();
            var vr21 = Program.s_27;
            var vr18 = (sbyte)Sve.GetActiveElementCount(vr19, vr21);
            var vr17 = Vector128.CreateScalar(vr18).AsVector();
            var vr15 = Sve.AddSaturate(vr16, vr17);
            var vr23 = (ushort)1;
            var vr22 = Vector64.CreateScalar(vr23);
            var vr25 = Vector128.CreateScalar(15918634562581184926UL).AsVector();
            var vr26 = Vector.Create<ulong>(0);
            var vr24 = (short)Sve.GetActiveElementCount(vr25, vr26);
            var vr27 = Program.s_21 > 0;
            Program.M12(vr2, vr12, vr14, vr15, vr22, vr24, vr27);
        }

        return new I0[]
        {
            new C0()
        };
    }
}

public class Program
{
    public static long s_21;
    public static I0 s_24;
    public static Vector<long> s_27;
    public static void Main()
    {
        C1 vr30 = new C1();
        vr30.M10().GetAwaiter().GetResult();
    }

    public static void M12(C1 argThis, long arg0, I0 arg1, Vector<sbyte> arg2, Vector64<ushort> arg3, short arg4, bool arg5)
    {
        System.Console.WriteLine(arg4);
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions