-
Notifications
You must be signed in to change notification settings - Fork 396
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 vector mask testAny, testAll and conversion opcodes #6690
Conversation
Jenkins build all |
/* .name = */ "mmAnyTrue", \ | ||
/* .properties1 = */ 0, \ | ||
/* .properties2 = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE, \ | ||
/* .properties3 = */ 0, \ |
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 we need a flag to indicate that this operation is on a mask, under a mask
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.
Yes, I agree, will add.
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.
Added ILProp1::VectorMasked
property. But after some thought, not sure about "on mask" property. Usually we check the return type of the opcode vs the type of any of its children. Do you think we need that flag? @BradleyWood
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.
You're right, its not necessary. I leave it up to you
/* .name = */ "mAnyTrue", \ | ||
/* .properties1 = */ 0, \ | ||
/* .properties2 = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE, \ | ||
/* .properties3 = */ 0, \ |
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.
Do we need a flag to indicate these operations are on a mask (not under a mask)?
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.
Agree
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.
See above. Will keep it like that for now.
bd67918
to
ffe530f
Compare
Rebased. |
ffe530f
to
07a3ae7
Compare
Added VectorMasked property to mmAnyTrue and mmAllTrue. |
The aarch64/arm part looks good to me. |
07a3ae7
to
c2854d3
Compare
Rebased |
Added commit for mask conversion opcodes. |
744742f
to
2e1d1f4
Compare
Fixed line endings |
Jenkins build all |
WIP since I would like to add some fixes to this PR. |
2e1d1f4
to
f6877bc
Compare
Rebased. |
f6877bc
to
220d4a6
Compare
Fixed a bug in getVectorOperation(). |
- the opcodes return true iff at least one element(testAny) or all elements(testALL) of the vecror mask are true - both testAny and testAll opcodes have masked and non-masked versions, so add mTestAny, mTestAll, mmTestAny, mmTestAll
220d4a6
to
7c4a4b9
Compare
Jenkins build all |
The following failure on linux ppc needs to be investigated in Issue #6571.
|
elements(testALL) of the vecror mask are true
versions, so add mTestAny, mTestAll, mmTestAny, mmTestAll