Implement SVE2 Scatter8BitNarrowing, Scatter16BitNarrowing, Scatter32BitNarrowing#119201
Implement SVE2 Scatter8BitNarrowing, Scatter16BitNarrowing, Scatter32BitNarrowing#119201jacob-crawley wants to merge 1 commit intodotnet:mainfrom
Conversation
|
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics |
a74nh
left a comment
There was a problem hiding this comment.
This LGTM.
Happy that we're also adding the 32bit versions, but commented out. Makes it easier to find when we come back to do it later.
|
@tannergooding This looks good to me; any concerns for you? |
| /// void svstnt1h_scatter[_u64base_s64](svbool_t pg, svuint64_t bases, svint64_t data) | ||
| /// STNT1H Zdata.D, Pg, [Zbases.D, XZR] | ||
| /// </summary> | ||
| public static new void Scatter16BitNarrowing(Vector<long> mask, Vector<ulong> addresses, Vector<long> data) => Scatter16BitNarrowing(mask, addresses, data); |
There was a problem hiding this comment.
How does this differ in behavior from the SVE API already defined?
That is, why is this needed since an identical signature already exists.
There was a problem hiding this comment.
These are all non temporal versions, as the instructions have NT in the name. Otherwise they are identical to the existing scatters in SVE1. I'll add a comment to the API review too.
|
Raised #122033 to track the renaming to non-temporal. In the meantime closing this PR as it will not be Jacob working on it. |
Contributing towards #115479
@dotnet/arm64-contrib @a74nh