-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support PUTARG_SPLIT(STRUCT LCL_VAR/LCL_FLD)
on ARM/64
#70861
Support PUTARG_SPLIT(STRUCT LCL_VAR/LCL_FLD)
on ARM/64
#70861
Conversation
TODO: figure out what (if anything) to do with the regressions in test methods with large frames.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsSame as #70256 - we are enabling more We are expecting improvements in all but a series of test methods where we will have large regressions due to the use of a reserved register in a
|
@dotnet/jit-contrib |
Can you say a little more about what happens in these test functions to make the regression so large? What would the changes look like? |
It is a combination of large frame + large structs. Large frame makes us use the reserved register combined with A fix I had in mind is to reserve an internal register when we have a large frame and use that instead of "plain" |
Seems ok to me to avoid complicating the logic more, I don't think need to optimize for passing such a large struct by value. |
Same as #70256 - we are enabling more
TYP_STRUCT
local nodes, now forPUTARG_SPLIT
nodes.We are expecting improvements in all but a series of test methods where we will have large regressions due to the use of a reserved register in a
PUTARG_SPLIT
of a very large struct:struct<MCCTest.VTypeD, 4608>
. I think such scenario is rather unrealistic, but if there is agreement that we should nevertheless avoid this regression, I will make the changes necessary.Diffs.