-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
JIT: Disallow parameters passed in float regs from being enregistered in int regs #99286
Conversation
Just verifying that we never see float reg -> int reg homing on all our targets...
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsJust verifying that we never see float reg -> int reg homing on all our targets...
|
/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress, runtime-coreclr jitstressregs, runtime-coreclr libraries-jitstressregs |
/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress, runtime-coreclr jitstressregs, runtime-coreclr libraries-jitstressregs |
Azure Pipelines successfully started running 4 pipeline(s). |
cc @dotnet/jit-contrib PTAL @BruceForstall This change is a follow-up to #96439. The logic in that PR is only correct under the assumption that parameters passed in float regs are never homed in integer regs. However, we can enregister structs of fitting size in integer registers if they have only whole uses, so that could still happen for a struct passed in float registers. This is a very rare case because such enregistration only kicks in when the struct parameter also was not promoted. The right long term fix here is to generalize |
See #99286 (comment).