Skip to content

JIT: EH seemingly removed with Dp.DotProductBySelectedQuadruplet #116129

Open
@jakobbotsch

Description

@jakobbotsch
// Generated by Fuzzlyn v3.1 on 2025-05-29 19:53:04
// Run on Arm64 MacOS
// Seed: 4914329548666731021-vectort,vector64,vector128,armadvsimd,armadvsimdarm64,armaes,armarmbase,armarmbasearm64,armcrc32,armcrc32arm64,armdp,armrdm,armrdmarm64,armsha1,armsha256
// Reduced from 71.4 KiB to 1.3 KiB in 00:01:04
// Debug: Runs successfully
// Release: Throws 'System.ArgumentOutOfRangeException'
using System;
using System.Numerics;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.Arm;

public class C0
{
}

public struct S0
{
    public ushort F2;
    public C0 F4;
    public C0 F5;
    public ushort F8;
    public S0(C0 f5) : this()
    {
        F5 = f5;
    }
}

public struct S3
{
    public S0 F0;
    public uint F1;
    public S3(S0 f0) : this()
    {
        F0 = f0;
    }
}

public class C1
{
    public S3 F4;
}

public class Program
{
    public static C1[] s_4 = new C1[]
    {
        new C1()
    };
    public static S0 s_6;
    public static void Main()
    {
        var vr7 = Vector64.Create(0, 4294967294U);
        try
        {
            var vr10 = (byte)0;
            var vr11 = Vector64.CreateScalar(vr10);
            var vr12 = s_4[0].F4.F1;
            var vr13 = (ushort)ArmBase.Arm64.LeadingSignCount(0);
            var vr14 = (byte)Crc32.ComputeCrc32(vr12, vr13);
            var vr15 = Vector128.CreateScalar(vr14);
            Dp.DotProductBySelectedQuadruplet(vr7, vr11, vr15, 6);
        }
        catch (System.Exception)
        {
        }

        M4();
    }

    public static void M4()
    {
        S3 var4 = new S3(new S0(new C0()));
        var4.F0.F2++;
        var4.F0 = var4.F0;
        s_6.F8 = var4.F0.F2;
    }
}

Seen in #115983, cc @dotnet/jit-contrib

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions