Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[API Proposal]: SVE: Rename loadxX() to LoadVectorxXAndUnzip() #114910

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

Open
Tracked by #115331
a74nh opened this issue Apr 22, 2025 · 1 comment
Open
Tracked by #115331

[API Proposal]: SVE: Rename loadxX() to LoadVectorxXAndUnzip() #114910

a74nh opened this issue Apr 22, 2025 · 1 comment
Labels
area-System.Numerics untriaged New issue has not been triaged by the area owner

Comments

@a74nh
Copy link
Contributor

a74nh commented Apr 22, 2025

#97831 approved the following:

namespace System.Runtime.Intrinsics.Arm

/// VectorT Summary
public abstract class Sve : AdvSimd /// Feature: FEAT_SVE  Category: loads
{
    /// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
    public static unsafe (Vector<T>, Vector<T>) LoadVectorx2(Vector<T> mask, T* address); // LD2W or LD2D or LD2B or LD2H

    /// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
    public static unsafe (Vector<T>, Vector<T>, Vector<T>) LoadVectorx3(Vector<T> mask, T* address); // LD3W or LD3D or LD3B or LD3H

    /// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
    public static unsafe (Vector<T>, Vector<T>, Vector<T>, Vector<T>) LoadVectorx4(Vector<T> mask, T* address); // LD4W or LD4D or LD4B or LD4H
}

The following was implemented:

namespace System.Runtime.Intrinsics.Arm

/// VectorT Summary
public abstract class Sve : AdvSimd /// Feature: FEAT_SVE  Category: loads
{
    /// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
    public static unsafe (Vector<T>, Vector<T>) LoadVectorx2AndUnzip(Vector<T> mask, T* address); // LD2W or LD2D or LD2B or LD2H

    /// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
    public static unsafe (Vector<T>, Vector<T>, Vector<T>) LoadVectorx3AndUnzip(Vector<T> mask, T* address); // LD3W or LD3D or LD3B or LD3H

    /// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
    public static unsafe (Vector<T>, Vector<T>, Vector<T>, Vector<T>) LoadVectorx4AndUnzip(Vector<T> mask, T* address); // LD4W or LD4D or LD4B or LD4H
}

This was done to follow the existing LoadNxVectorNAndUnzip() APIs in AdvSimd.

This issue is to approve the implemented API.

@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Apr 22, 2025
Copy link
Contributor

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

@a74nh a74nh changed the title [API Proposal]: SVE: FEAT_SVE: LoadVectorx [API Proposal]: SVE: Rename loadxX() to LoadVectorxXAndUnzip() #115338 May 6, 2025
@a74nh a74nh changed the title [API Proposal]: SVE: Rename loadxX() to LoadVectorxXAndUnzip() #115338 [API Proposal]: SVE: Rename loadxX() to LoadVectorxXAndUnzip() May 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-System.Numerics untriaged New issue has not been triaged by the area owner
Projects
None yet
Development

No branches or pull requests

1 participant