Skip to content

JIT: Wrong result of comparison against 0 on arm64 #121294

@jakobbotsch

Description

@jakobbotsch
// Generated by Fuzzlyn v3.3 on 2025-11-02 17:19:53
// Run on Arm64 Linux
// Seed: 3881835425328722402-vectort,vector64,vector128,armadvsimd,armadvsimdarm64,armaes,armarmbase,armarmbasearm64,armcrc32,armcrc32arm64,armdp,armrdm,armrdmarm64,armsha1,armsha256,armsve,armsve2
// Reduced from 15.0 KiB to 0.4 KiB in 00:00:16
// Debug: Prints 1 line(s)
// Release: Prints 2 line(s)
public class Program
{
    public static void Main()
    {
        if ((-M3()) >= 0)
        {
            ulong vr3 = default(ulong);
            System.Console.WriteLine(vr3);
        }
    }

    public static long M3()
    {
        ulong var0 = default(ulong);
        System.Console.WriteLine(var0);
        return -9223372036854775808L;
    }
}

Likely caused by #119758, @jonathandavies-arm can you PTAL?

Metadata

Metadata

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