Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Avx512 extract most significant bits #82731
Avx512 extract most significant bits #82731
Changes from 5 commits
f61cbd2
ff0ac75
e663eb4
dcbc6a9
40a46eb
2468b10
6340763
41c4b14
3fb7f78
1c19de3
45f4b90
46c9e27
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Comment needs to be updated slightly since KInstructions are part of the INST3 group now.
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.
This should be "false" for
kmovq
since its a 64-bit to 64-bit move and therefore doesn't zero extend, right?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.
This is notably still unresolved
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.
I think this is a general case like the other where integers are the most common, but they're at the bottom of the checked cases for the loop.
Presumably changing this to either a
switch
or to prioritize settingavailableIntRegs
as the first path would be beneficial so we don't have "one extra check" before hitting the path.Actually, looking at this, this entire thing is just very unnecessarily expensive. We could track the classification in the
typelist.h
so we could do:This would involve no loops, no complex checks as to type kind/etc.
@kunalspathak, thoughts? Probably not that impactful overall, since its just part of the LSRA constructor; but still seems "meaningful" given we have around 25
TYP_*
defines and this is doing 4-5 checks to initialize 17 of them and 3-4 checks to initialize 6 others.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.
-- Not saying this needs to be handled in this PR, its something we can do as a follow up if its something we want to do.
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.
I have updated #83109 to take care of it.