-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Open
Labels
api-approvedAPI was approved in API review, it can be implementedAPI was approved in API review, it can be implementedarch-arm64area-System.Runtime.Intrinsicsarm-sveWork related to arm64 SVE/SVE2 supportWork related to arm64 SVE/SVE2 support
Milestone
Description
namespace System.Runtime.Intrinsics.Arm;
/// VectorT Summary
public abstract partial class Sve2 : AdvSimd /// Feature: FEAT_SVE2 Category: gatherloads
{
/// T: [int, uint], [uint, uint], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorByteZeroExtendNonTemporal(Vector<T> mask, Vector<T2> addresses); // LDNT1B
/// T: [int, uint], [uint, uint], [long, long], [ulong, long], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorByteZeroExtendNonTemporal(Vector<T> mask, byte* address, Vector<T2> offsets); // LDNT1B
/// T: [int, uint], [uint, uint], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorInt16SignExtendNonTemporal(Vector<T> mask, Vector<T2> addresses); // LDNT1SH
/// T: [long, long], [ulong, long], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorInt16SignExtendNonTemporal(Vector<T> mask, short* address, Vector<T2> indices); // LDNT1SH
/// T: [int, uint], [uint, uint], [long, long], [ulong, long], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorInt16WithByteOffsetsSignExtendNonTemporal(Vector<T> mask, short* address, Vector<T2> offsets); // LDNT1SH
/// T: [long, ulong], [int, uint], [ulong, ulong], [uint, uint]
public static unsafe Vector<T> GatherVectorInt32SignExtendNonTemporal(Vector<T> mask, Vector<T2> addresses); // LDNT1SW
/// T: [long, long], [int, int], [ulong, long], [uint, int], [long, ulong], [int, uint], [ulong, ulong], [uint, uint]
public static unsafe Vector<T> GatherVectorInt32SignExtendNonTemporal(Vector<T> mask, int* address, Vector<T2> indices); // LDNT1SW
/// T: [long, long], [int, int], [ulong, long], [uint, int], [long, ulong], [int, uint], [ulong, ulong], [uint, uint]
public static unsafe Vector<T> GatherVectorInt32WithByteOffsetsSignExtendNonTemporal(Vector<T> mask, int* address, Vector<T2> offsets); // LDNT1SW
/// T: [float, uint], [int, uint], [double, ulong], [long, ulong]
public static unsafe Vector<T> GatherVectorNonTemporal(Vector<T> mask, Vector<T2> addresses); // LDNT1W or LDNT1D
/// T: uint, ulong
public static unsafe Vector<T> GatherVectorNonTemporal(Vector<T> mask, Vector<T> addresses); // LDNT1W or LDNT1D
/// T: [float, uint], [int, uint], [double, long], [ulong, long], [double, ulong], [long, ulong]
public static unsafe Vector<T> GatherVectorNonTemporal(Vector<T> mask, T* address, Vector<T2> offsets); // LDNT1W or LDNT1D
/// T: uint, long, ulong
public static unsafe Vector<T> GatherVectorNonTemporal(Vector<T> mask, T* address, Vector<T> offsets); // LDNT1W or LDNT1D
/// T: [double, long], [ulong, long], [double, ulong], [long, ulong]
public static unsafe Vector<T> GatherVectorNonTemporal(Vector<T> mask, T* address, Vector<T2> indices); // LDNT1D
/// T: long, ulong
public static unsafe Vector<T> GatherVectorNonTemporal(Vector<T> mask, T* address, Vector<T> indices); // LDNT1D
/// T: [int, uint], [uint, uint], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorSByteSignExtendNonTemporal(Vector<T> mask, Vector<T2> addresses); // LDNT1SB
/// T: [int, uint], [uint, uint], [long, long], [ulong, long], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorSByteSignExtendNonTemporal(Vector<T> mask, sbyte* address, Vector<T2> offsets); // LDNT1SB
/// T: [int, uint], [uint, uint], [long, long], [ulong, long], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorUInt16WithByteOffsetsZeroExtendNonTemporal(Vector<T> mask, ushort* address, Vector<T2> offsets); // LDNT1H
/// T: [int, uint], [uint, uint], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorUInt16ZeroExtendNonTemporal(Vector<T> mask, Vector<T2> addresses); // LDNT1H
/// T: [long, long], [ulong, long], [long, ulong], [ulong, ulong]
public static unsafe Vector<T> GatherVectorUInt16ZeroExtendNonTemporal(Vector<T> mask, ushort* address, Vector<T2> indices); // LDNT1H
/// T: [long, long], [int, int], [ulong, long], [uint, int], [long, ulong], [int, uint], [ulong, ulong], [uint, uint]
public static unsafe Vector<T> GatherVectorUInt32WithByteOffsetsZeroExtendNonTemporal(Vector<T> mask, uint* address, Vector<T2> offsets); // LDNT1W
/// T: [long, ulong], [int, uint], [ulong, ulong], [uint, uint]
public static unsafe Vector<T> GatherVectorUInt32ZeroExtendNonTemporal(Vector<T> mask, Vector<T2> addresses); // LDNT1W
/// T: [long, long], [int, int], [ulong, long], [uint, int], [long, ulong], [int, uint], [ulong, ulong], [uint, uint]
public static unsafe Vector<T> GatherVectorUInt32ZeroExtendNonTemporal(Vector<T> mask, uint* address, Vector<T2> indices); // LDNT1W
/// total method signatures: 22
}
Metadata
Metadata
Assignees
Labels
api-approvedAPI was approved in API review, it can be implementedAPI was approved in API review, it can be implementedarch-arm64area-System.Runtime.Intrinsicsarm-sveWork related to arm64 SVE/SVE2 supportWork related to arm64 SVE/SVE2 support