Implement struct promotion for incoming multireg structs #13417
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
optimization
os-linux
Linux OS (any supported distro)
Milestone
We are currently not promoting incoming multireg structs: https://github.com/dotnet/coreclr/blob/9479f67577bbb02ea611777b00308f42252fb2bc/src/jit/lclvars.cpp#L1914-L1926
Example derived from the discussion in dotnet/corefx#40998:
On Windows x64 the struct is promoted and we eliminate bounds checks:
asm
On Linux x64 we don't promote the struct (since it's an incoming multireg struct) and don't eliminate bounds checks:
asm
category:cq
theme:structs
skill-level:expert
cost:large
The text was updated successfully, but these errors were encountered: