Skip to content

Implement SVE2 Scatter8BitNarrowing, Scatter16BitNarrowing, Scatter32BitNarrowing#119201

Closed
jacob-crawley wants to merge 1 commit intodotnet:mainfrom
jacob-crawley:sve2-scatter
Closed

Implement SVE2 Scatter8BitNarrowing, Scatter16BitNarrowing, Scatter32BitNarrowing#119201
jacob-crawley wants to merge 1 commit intodotnet:mainfrom
jacob-crawley:sve2-scatter

Conversation

@jacob-crawley
Copy link
Contributor

Contributing towards #115479

@dotnet/arm64-contrib @a74nh

@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Aug 29, 2025
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics
See info in area-owners.md if you want to be subscribed.

Copy link
Contributor

@a74nh a74nh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@a74nh
Copy link
Contributor

a74nh commented Sep 1, 2025

@EgorBo @tannergooding

@jeffhandley
Copy link
Member

@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);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does this differ in behavior from the SVE API already defined?

That is, why is this needed since an identical signature already exists.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@a74nh
Copy link
Contributor

a74nh commented Nov 28, 2025

Raised #122033 to track the renaming to non-temporal.

In the meantime closing this PR as it will not be Jacob working on it.

@a74nh a74nh closed this Nov 28, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Dec 29, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtime.Intrinsics community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments