This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Fixing the x86 HWIntrinsic tests to not leave a GC hole #16957
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
3ba9ff6
Fixing the x86 HWIntrinsic test templates to not leave a GC hole
tannergooding 36b0f8e
Regenerating the x86 HWIntrinsics tests to no longer have a GC hole
tannergooding f063914
Updating the x86 HWIntrinsic DataTable types to assert the alignment …
tannergooding 9eb76be
Updating the x86 HWIntrinsic templates to track each vector size sepa…
tannergooding 64c51b3
Regenerating the x86 HWIntrinsic tests to track each vector size sepa…
tannergooding 9e331f9
Updating the x86 extract instructions to be properly listed as MR
tannergooding d92648f
Fixing the x86 ScalarUnOpTest template to no longer write out of bounds
tannergooding File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
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 swapped the operands of floating extract because

extractps
usesRMI
but encodes the target inr/m
.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 don't think that those letters are meant to describe 'how' it is encoded:

The entry explicitly calls out that
Operand 1
is encoded in the ModRM byte in ther/m
field and thatOperand 2
is encoded in the ModRM byte in thereg
field. SinceOperand 1
is encoded in ther/m
field, this makes it anMRI
instruction.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 is, the only difference between MR and RM is whether Op1 or Op2 is encoded in the
r/m
field of the ModRM byte. MR encodesOp1
there and RM encodesOp2
there.