dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.16k stars 4.71k forks source link

JIT: Assertion failed '!arg->OperIsPutArg()' during 'Lowering nodeinfo' #106876

Closed jakobbotsch closed 1 month ago

jakobbotsch commented 1 month ago

Reduced repro is large so I've attached an SPMI collection that reproduces the problem on 269ea267270838478e15e29f51c250f9bea81b67.

I can take a look.

repro-33545.zip

dotnet-policy-service[bot] commented 1 month ago

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.

jakobbotsch commented 1 month ago

This looks like a bug introduced in #105812. It lowers CndSel(AllTrue, op2, op3) into op2, but then proceeds to lower from op2. This will repeat lowering for some nodes.