-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Remove GT_ADDEX and replace with more generalized containment handling #76273
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
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsThis makes more progress towards #68028
|
d1bd576 to
94e17ab
Compare
d060329 to
c3515a8
Compare
|
/azp run runtime-coreclr jitstress, runtime-coreclr gcstress0x3-gcstress0xc, Fuzzlyn |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
Any idea what causes size regressions? https://dev.azure.com/dnceng-public/public/_build/results?buildId=32858&view=ms.vss-build-web.run-extensions-tab |
@EgorBo, looks like some places aren't getting contained anymore and they were on the previous path. Looking again, this would be because the original path handles GT_CAST having a contained op itself by clearing the containment Where-as the new path checked the containment the |
|
/azp run runtime-coreclr jitstress, runtime-coreclr gcstress0x3-gcstress0xc, Fuzzlyn |
|
Azure Pipelines successfully started running 3 pipeline(s). |
TIHan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to what we did for msub and madd - let containment drive all of it rather than have a separate op.
MinOpts is a size regression since it now only does this opt when optimizations are enabled, but that also gives a very minor throughput improvement (-0.01%). If we were willing to take a regression to MinOpts instead (+0.01%) and do this containment even in minopts, then we'd save more than 24k size instead. Given that Arm64 has fixed-sized instructions, this might be beneficial overall. |
|
Many diffs are cases like the following: - add x0, x0, w26, UXTW
- ldrb w0, [x0]
+ ldrb w0, [x0, w26, UXTW #2]These seem to mostly be due to There are a few small regressions such as: + lsl w0, w0, #8
ldr x1, [fp, #0xA8] // [V192 tmp170]
ldrb w1, [x1, #0x01]
- add w1, w1, w0, LSL #8
+ add w1, w0, w1Notably we're checking if We're also checking |
|
/azp run Fuzzlyn |
|
Azure Pipelines successfully started running 1 pipeline(s). |
EgorBo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice diffs from a clean up 🙂
This makes more progress towards #68028