-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
area-System.Runtime.Intrinsicsarm-sveWork related to arm64 SVE/SVE2 supportWork related to arm64 SVE/SVE2 support
Milestone
Description
Background and motivation
During implementation, the naming of the default value arguments changed from what was reviewed. Original API approval was in #93964
This issue should either approve the differences, or they should be rejected and a PR to fix up the code should be raised.
The implemented APIs need changing to match what was approved.
Approved APIs:
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ConditionalExtractAfterLastActiveElement(Vector<T> mask, Vector<T> defaultScalar, Vector<T> data); // CLASTA // MOVPRFX
public static unsafe Vector<T> ConditionalExtractAfterLastActiveElementAndReplicate(Vector<T> mask, Vector<T> defaultValues, Vector<T> data); // CLASTA // MOVPRFX
public static unsafe T ConditionalExtractAfterLastActiveElement(Vector<T> mask, T defaultValue, Vector<T> data); // CLASTA // MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ConditionalExtractLastActiveElement(Vector<T> mask, Vector<T> defaultScalar, Vector<T> data); // CLASTB // MOVPRFX
public static unsafe Vector<T> ConditionalExtractLastActiveElementAndReplicate(Vector<T> mask, Vector<T> defaultValues, Vector<T> data); // CLASTB // MOVPRFX
public static unsafe T ConditionalExtractLastActiveElement(Vector<T> mask, T defaultValue, Vector<T> data); // CLASTB // MOVPRFX
}Currently implemented:
namespace System.Runtime.Intrinsics.Arm;
/// VectorT Summary
public abstract partial class Sve : AdvSimd /// Feature: FEAT_SVE Category: mask
{
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ConditionalExtractAfterLastActiveElement(Vector<T> mask, Vector<T> defaultValue, Vector<T> data); // CLASTA // MOVPRFX
public static unsafe Vector<T> ConditionalExtractAfterLastActiveElementAndReplicate(Vector<T> mask, Vector<T> defaultScalar, Vector<T> data); // CLASTA // MOVPRFX
public static unsafe T ConditionalExtractAfterLastActiveElement(Vector<T> mask, T defaultValues, Vector<T> data); // CLASTA // MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ConditionalExtractLastActiveElement(Vector<T> mask, Vector<T> defaultValue, Vector<T> data); // CLASTB // MOVPRFX
public static unsafe Vector<T> ConditionalExtractLastActiveElementAndReplicate(Vector<T> mask, Vector<T> fallback, Vector<T> data); // CLASTB // MOVPRFX
public static unsafe T ConditionalExtractLastActiveElement(Vector<T> mask, T defaultValues, Vector<T> data); // CLASTB // MOVPRFX
}Metadata
Metadata
Assignees
Labels
area-System.Runtime.Intrinsicsarm-sveWork related to arm64 SVE/SVE2 supportWork related to arm64 SVE/SVE2 support