-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
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
Background and motivation
Based on this comment.
The following was approved in #94015
/// T: [sbyte, short], [short, int], [int, long], [byte, ushort], [ushort, uint], [uint, ulong]
public static unsafe Vector<T> ShiftRightArithmeticNarrowingSaturateEven(Vector<T2> value, [ConstantExpected] byte count); // SQSHRNB or UQSHRNB
/// T: [sbyte, short], [short, int], [int, long], [byte, ushort], [ushort, uint], [uint, ulong]
public static unsafe Vector<T> ShiftRightArithmeticNarrowingSaturateOdd(Vector<T> even, Vector<T2> value, [ConstantExpected] byte count); // SQSHRNT or UQSHRNTOnly these were implemented:
/// T: [sbyte, short], [short, int], [int, long]
public static unsafe Vector<T> ShiftRightArithmeticNarrowingSaturateEven(Vector<T2> value, [ConstantExpected] byte count); // SQSHRNB
/// T: [sbyte, short], [short, int], [int, long]
public static unsafe Vector<T> ShiftRightArithmeticNarrowingSaturateOdd(Vector<T> even, Vector<T2> value, [ConstantExpected] byte count); // SQSHRNTThe unsigned version should be a different API
API Proposal
namespace System.Runtime.Intrinsics.Arm
/// T: [byte, ushort], [ushort, uint], [uint, ulong]
public static unsafe Vector<T> ShiftRightLogicalNarrowingSaturateEven(Vector<T2> value, [ConstantExpected] byte count); // UQSHRNB
/// T: [byte, ushort], [ushort, uint], [uint, ulong]
public static unsafe Vector<T> ShiftRightLogicalNarrowingSaturateOdd(Vector<T> even, Vector<T2> value, [ConstantExpected] byte count); // UQSHRNTReactions are currently unavailable
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