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
JIT: Added SVE APIs -
Test*
,ExtractVector
#103739JIT: Added SVE APIs -
Test*
,ExtractVector
#103739Changes from all commits
e78e4df
c5f13f6
a532cf0
174cd35
385c456
038177c
cc3decc
a0d1adf
b6b574a
c84567a
fe04dff
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.
I think this should be of category
HW_Category_SIMDByIndexedElement
.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.
The other
ExtractVector
APIs from AdvSimd do not have them marked withHW_Category_SIMDByIndexedElement
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.
Why does
Test*
needs SpecialCodeGen?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.
2 things:
REG_NA
INS_OPTS_SCALABLE_B
onemitIns
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.
that makes sense then.
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.
What is happening here? Is it ensuring the bool return is set set?
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.
Because
TestAnyTrue
is tied to the instructionptest
, the instruction itself doesn't have a destination register; it only sets the conditional flags.This lowering transformation effectively handles the conditional flags and returns the appropriate 'bool' value we expect. Changing
TestAnyTrue
'sgtType
toTYP_VOID
ensures we won't allocate a destination register for that particular node.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 I get this part. What I am trying to understand is how we make sure that the underlying operation is doing what it is supposed to do:
Can you share the disassembly of each of those?