Skip to content

JIT: Assertion failed '(op2Reg != REG_EDX) || (op1Reg == REG_EDX)' during 'Generate code' #125328

@jakobbotsch

Description

@jakobbotsch
// Generated by Fuzzlyn v3.3 on 2026-03-07 16:14:07
// Run on X64 Windows
// Seed: 14511034337408659339-vectort,vector128,vector256,x86aes,x86avx,x86avx2,x86avx512bw,x86avx512bwvl,x86avx512cd,x86avx512cdvl,x86avx512dq,x86avx512dqvl,x86avx512f,x86avx512fvl,x86avx512fx64,x86bmi1,x86bmi1x64,x86bmi2,x86bmi2x64,x86fma,x86lzcnt,x86lzcntx64,x86pclmulqdq,x86popcnt,x86popcntx64,x86sse,x86ssex64,x86sse2,x86sse2x64,x86sse3,x86sse41,x86sse41x64,x86sse42,x86sse42x64,x86ssse3,x86x86base
// Reduced from 162.2 KiB to 0.5 KiB in 00:02:21
// Hits JIT assert for Release:
// Assertion failed '(op2Reg != REG_EDX) || (op1Reg == REG_EDX)' in 'Program:Main(Fuzzlyn.ExecutionServer.IRuntime)' during 'Generate code' (IL size 58; hash 0xade6b36b; FullOpts)
// 
//     File: D:\a\_work\1\s\src\coreclr\jit\hwintrinsiccodegenxarch.cpp Line: 3014
// 
using System.Runtime.Intrinsics.X86;

public class Program
{
    public static bool s_7;
    public static uint s_23;
    public static void Main()
    {
        var vr6 = M9();
        s_7 = Bmi2.MultiplyNoFlags(vr6, s_23) != 0;
        var vr7 = Bmi2.MultiplyNoFlags(s_23, 0);
        System.Console.WriteLine(vr7);
    }

    public static uint M9()
    {
        uint var3 = default(uint);
        for (ulong lvar0 = 18446744073709551515UL; lvar0 < 18446744073709551517UL; lvar0++)
        {
        }

        return var3;
    }
}

Bisected to #125214

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions