Open
Description
namespace System.Runtime.Intrinsics.Arm;
/// VectorT Summary
public abstract partial class Sve : AdvSimd /// Feature: FEAT_SVE Category: bitmanipulate
{
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CreateSeries(T base, T step); // INDEX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> DuplicateSelectedScalarToVector(T value); // DUP or FDUP or DUPM or CPY or FCPY // predicated, MOVPRFX
/// T: float, int, uint
public static unsafe Vector<T> DuplicateSelectedScalarToVector(Vector<T> data, uint index); // DUP or TBL
/// T: double, long, ulong, float, sbyte, short, int, byte, ushort, uint
public static unsafe Vector<T> DuplicateSelectedScalarToVector(Vector<T> data, ulong index); // DUP or TBL
/// T: sbyte, byte
public static unsafe Vector<T> DuplicateSelectedScalarToVector(Vector<T> data, byte index); // DUP or TBL
/// T: short, ushort
public static unsafe Vector<T> DuplicateSelectedScalarToVector(Vector<T> data, ushort index); // DUP or TBL
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ReverseBits(Vector<T> value); // RBIT // predicated, MOVPRFX
/// T: short, int, long, ushort, uint, ulong
public static unsafe Vector<T> ReverseBytesWithinElements(Vector<T> value); // REVB // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ReverseElement(Vector<T> value); // REV
/// T: int, long, uint, ulong
public static unsafe Vector<T> ReverseInt16WithinElements(Vector<T> value); // REVH // predicated, MOVPRFX
/// T: long, ulong
public static unsafe Vector<T> ReverseInt32WithinElements(Vector<T> value); // REVW // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Splice(Vector<T> mask, Vector<T> left, Vector<T> right); // SPLICE // MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> TransposeEven(Vector<T> left, Vector<T> right); // TRN1
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> TransposeOdd(Vector<T> left, Vector<T> right); // TRN2
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> UnzipEven(Vector<T> left, Vector<T> right); // UZP1
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> UnzipOdd(Vector<T> left, Vector<T> right); // UZP2
/// T: [float, uint], [double, ulong], [sbyte, byte], [short, ushort], [int, uint], [long, ulong]
public static unsafe Vector<T> VectorTableLookup(Vector<T> data, Vector<T2> indices); // TBL
/// T: byte, ushort, uint, ulong
public static unsafe Vector<T> VectorTableLookup(Vector<T> data, Vector<T> indices); // TBL
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ZipHigh(Vector<T> left, Vector<T> right); // ZIP2
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ZipLow(Vector<T> left, Vector<T> right); // ZIP1
/// total method signatures: 20
}
Splice
Splice two vectors under predicate control
Select a region from left
and copy it to the lowest-numbered elements of the result. Then set any remaining elements of the result to a copy of the lowest-numbered elements from right
. The region is selected using the first and last true elements in mask
.