-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Add optimisation of incrementing SELECT at lowering on arm64. #91262
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsThis patch adds support for optimising SELECT or SELECT_CC nodes which contain a child of type GT_ADD with a second operand constant value of 1 (increment) to be optimised into a SELECT_INC or SELECT_INCCC node. This results in an instruction saving on arm64 down to a single SPMI diffs for this patch (performed on
|
Unsure why the CLA bot is being noisy, although the check seems to have passed anyway. |
This is going to catch Would have expected more spmidiff differences, but the diffs found look good. |
c24a2a0
to
a5943bd
Compare
73ec0a0
to
57bb8d9
Compare
This patch adds support for optimising SELECT or SELECT_CC nodes which contain a child of type GT_ADD with a second operand constant value of 1 (increment) to be optimised into a SELECT_INC or SELECT_INCCC node. Change-Id: Ia26da6f4c0e3a75143e133964cbb76243d0822de
@c272 - could you please resolve the build errors? |
@kunalspathak Merged in latest from main to trigger a rebuild. Don't think the failures from before were due to the patch, but the logs were already cleaned. The libraries test failure for linux_musl here also seems unrelated. |
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.
LGTM. Thanks for your contributions.
Failures are unrelated. |
This patch adds support for optimising SELECT or SELECT_CC nodes which contain a child of type GT_ADD with a second operand constant value of 1 (increment) to be optimised into a SELECT_INC or SELECT_INCCC node. This results in an instruction saving on arm64 down to a single
csinc
.SPMI diffs for this patch (performed on
win-arm64
since SPMI is currently broken onlinux-arm64
as per #91257):https://gist.github.com/c272/449a2760c1897f74722600bf200712b2