-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
ARM64-SVE: Saturating*ByActiveElementCount #102994
ARM64-SVE: Saturating*ByActiveElementCount #102994
Conversation
Note regarding the
|
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics |
Stress:
Need to check if these are known issues. |
@dotnet/arm64-contrib @kunalspathak |
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.
Looks good, except a question.
} | ||
|
||
// Switch instruction if arg1 is unsigned. | ||
if (varTypeIsUnsigned(node->GetAuxiliaryType())) |
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.
shouldn't this also use the unsigned variant of the instruction i.e. the first arg is Vector<ulong>
and hence, the base type is ulong
.
public static System.Numerics.Vector<ulong> SaturatingDecrementByActiveElementCount(System.Numerics.Vector<ulong> value, System.Numerics.Vector<ulong> from) { throw null; }
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.
Aux type is set as:
retNode->AsHWIntrinsic()->SetAuxiliaryJitType(op1BaseJitType);
So, for the example, GetAuxiliaryType()
should be returning ulong
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.
ah, 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.
LGTM. Can you fix the formatting errors too?
Done. |
@a74nh - there is a merge conflict. |
acc += (mask[i] == 1) ? 1 : 0; | ||
} | ||
return acc; | ||
|
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.
Missing }
is causing build failure.
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.
Fixed :)
/ba-g superpmi-replay failures are #102773 and machine agent issue |
No description provided.