-
Notifications
You must be signed in to change notification settings - Fork 5k
Arm64 SVE: Fix conditionalselect with constant arguments #116852
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
base: main
Are you sure you want to change the base?
Conversation
Fixes dotnet#116847 When folding, allow arg1 to be a constant mask
@dotnet/arm64-contrib @kunalspathak |
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
/azp run Antigen, Fuzzlyn |
Azure Pipelines successfully started running 2 pipeline(s). |
} | ||
|
||
#if defined(TARGET_XARCH) | ||
case TYP_SIMD32: |
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.
so we are just adding this even though xarch is not exercising this path?
{ | ||
switch (gtType) | ||
{ | ||
case TYP_SIMD8: |
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 see why we would come in TYP_SIMD8
and TYP_SIMD16
for Mask constants?
// depending on if the corresponding input element | ||
// has its least significant bit set | ||
|
||
bool isSet = static_cast<uint64_t>(1) << (i * sizeof(TBase)); |
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.
wait, we should be check isSet
with content of input0
, right?
// depending on if the corresponding input element | ||
// has its least significant bit set | ||
|
||
bool isSet = static_cast<uint64_t>(1) << (i * sizeof(TBase)); |
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.
same here
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.
There is a bug in EvaluateSimdVectorToPattern
where we are not validating it against the contents of arg0
.
Fixes #116847
When folding, allow arg1 to be a constant mask