You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Poor codegen for "big" (> 4 fields) structs init #71565
This is essentially a duplicate of #6534 -- the JIT does not currently do promotion for structs with more than 4 fields. It is an area that I hope we will be improving in .NET 8.
@jakobbotsch@SingleAccretion On the second thought my guess is that the issue some way related to ABI stuff - particularly the fact that the number of args that could be passed in regs is 4
Activity
jakobbotsch commentedon Jul 1, 2022
This is essentially a duplicate of #6534 -- the JIT does not currently do promotion for structs with more than 4 fields. It is an area that I hope we will be improving in .NET 8.
hypeartist commentedon Jul 1, 2022
@jakobbotsch Is there any info about what are all those restrictions (#6494 (comment) especially the one about 4 fields limit) based on?
SingleAccretion commentedon Jul 1, 2022
The 4 fields limit is just a CQ heuristic. Some of the other restrictions represent unimplemented functionality.
hypeartist commentedon Jul 1, 2022
@jakobbotsch @SingleAccretion On the second thought my guess is that the issue some way related to ABI stuff - particularly the fact that the number of args that could be passed in regs is 4
hypeartist commentedon Jul 5, 2022
Another strangeness.
Method
M1CvsM1A. Both operate with the same 'big' structA:PS: or even like this: