-
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
[JIT] X64 - Three instruction replacement sequence for multiply in certain cases #76981
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsExperimenting based on this issue #75119
|
… Made SuperFileCheck anchors more likely to match.
This is ready. @dotnet/jit-contrib - @kunalspathak PTAL |
@dotnet/jit-contrib ping again, this is ready and is passing CI, diffs There is a slight size increase, but based on the perfscore, and benchmarks mentioned in the description, execution time is faster. |
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
…y necessary. Forgot to add an additional instruction to a disasm test.
CI did pass except for formatting and a timeout issue. Merging now. |
Description
Will resolve a subset of: #75119
The changes handle integer multiplication cases when a constant is one away from being the power of 2.
Some performance results are here.
Examples:
These can technically be further optimized with
lea
I believe, but I'm going to do those in a separate PR.I made very trivial updates to SuperFileCheck since I encountered a bug when writing the disasm tests for this.
Acceptance Criteria