-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[API Proposal]: Arm64: FEAT_SVE: mask #93964
Comments
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics Issue Detailsnamespace System.Runtime.Intrinsics.Arm
/// VectorT Summary
public abstract class Sve : AdvSimd /// Feature: FEAT_SVE Category: mask
{
/// T: float, double
public static unsafe Vector<T> AbsoluteCompareGreaterThan(Vector<T> left, Vector<T> right);
/// T: float, double
public static unsafe Vector<T> AbsoluteCompareGreaterThanOrEqual(Vector<T> left, Vector<T> right);
/// T: float, double
public static unsafe Vector<T> AbsoluteCompareLessThan(Vector<T> left, Vector<T> right);
/// T: float, double
public static unsafe Vector<T> AbsoluteCompareLessThanOrEqual(Vector<T> left, Vector<T> right);
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> BreakAfter(Vector<T> value);
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> BreakAfterPropagate(Vector<T> left, Vector<T> right);
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> BreakBefore(Vector<T> value);
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> BreakBeforePropagate(Vector<T> left, Vector<T> right);
/// T: float, double, int, long, uint, ulong
public static unsafe Vector<T> Compact(Vector<T> mask, Vector<T> op);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareEqualTo(Vector<T> left, Vector<T> right);
/// T: [sbyte, long], [short, long], [int, long]
public static unsafe Vector<T> CompareEqualTo(Vector<T> left, Vector<T2> right);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareGreaterThan(Vector<T> left, Vector<T> right);
/// T: [sbyte, long], [short, long], [int, long], [byte, ulong], [ushort, ulong], [uint, ulong]
public static unsafe Vector<T> CompareGreaterThan(Vector<T> left, Vector<T2> right);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareGreaterThanOrEqual(Vector<T> left, Vector<T> right);
/// T: [sbyte, long], [short, long], [int, long], [byte, ulong], [ushort, ulong], [uint, ulong]
public static unsafe Vector<T> CompareGreaterThanOrEqual(Vector<T> left, Vector<T2> right);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareLessThan(Vector<T> left, Vector<T> right);
/// T: [sbyte, long], [short, long], [int, long], [byte, ulong], [ushort, ulong], [uint, ulong]
public static unsafe Vector<T> CompareLessThan(Vector<T> left, Vector<T2> right);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareLessThanOrEqual(Vector<T> left, Vector<T> right);
/// T: [sbyte, long], [short, long], [int, long], [byte, ulong], [ushort, ulong], [uint, ulong]
public static unsafe Vector<T> CompareLessThanOrEqual(Vector<T> left, Vector<T2> right);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareNotEqualTo(Vector<T> left, Vector<T> right);
/// T: [sbyte, long], [short, long], [int, long]
public static unsafe Vector<T> CompareNotEqualTo(Vector<T> left, Vector<T2> right);
/// T: float, double
public static unsafe Vector<T> CompareUnordered(Vector<T> left, Vector<T> right);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ConditionalExtractAfterLast(Vector<T> mask, Vector<T> fallback, Vector<T> data);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ConditionalExtractLast(Vector<T> mask, Vector<T> fallback, Vector<T> data);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> ConditionalSelect(Vector<T> mask, Vector<T> op1, Vector<T> op2);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe T ExtractAfterLast(Vector<T> value);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe T ExtractLast(Vector<T> value);
/// T: float, double, sbyte, short, int, long, byte, ushort, uint
public static unsafe Vector<T> ExtractVector(Vector<T> upper, Vector<T> lower, ulong index);
public static unsafe Vector<ulong> ExtractVector(Vector<ulong> upper, Vector<ulong> lower, ulong index);
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MaskClearAll();
/// T: byte, ushort, uint, ulong
public static unsafe Vector<T> MaskGetFirstSet(Vector<T> value);
/// T: byte, ushort, uint, ulong
public static unsafe Vector<T> MaskSetAll();
/// T: byte, ushort, uint, ulong
public static unsafe Vector<T> MaskSetAll(enum svpattern pattern);
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MaskSetFirst(Vector<T> value);
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> PropagateBreak(Vector<T> left, Vector<T> right);
/// T: byte, ushort, uint, ulong
public static unsafe Vector<T> WhileLessThan(int left, int right);
/// T: byte, ushort, uint, ulong
public static unsafe Vector<T> WhileLessThan(long left, long right);
/// T: byte, ushort, ulong
public static unsafe Vector<T> WhileLessThan(uint left, uint right);
/// T: byte, ushort, uint
public static unsafe Vector<T> WhileLessThan(ulong left, ulong right);
/// T: uint, ulong
public static unsafe Vector<T> WhileLessThan(T left, T right);
/// T: byte, ushort, uint, ulong
public static unsafe Vector<T> WhileLessThanOrEqual(int left, int right);
/// T: byte, ushort, uint, ulong
public static unsafe Vector<T> WhileLessThanOrEqual(long left, long right);
/// T: byte, ushort, ulong
public static unsafe Vector<T> WhileLessThanOrEqual(uint left, uint right);
/// T: byte, ushort, uint
public static unsafe Vector<T> WhileLessThanOrEqual(ulong left, ulong right);
/// T: uint, ulong
public static unsafe Vector<T> WhileLessThanOrEqual(T left, T right);
/// total method signatures: 45
}
/// Full API
public abstract class Sve : AdvSimd /// Feature: FEAT_SVE Category: mask
{
/// AbsoluteCompareGreaterThan : Absolute compare greater than
/// svbool_t svacgt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FACGT Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> AbsoluteCompareGreaterThan(Vector<float> left, Vector<float> right);
/// svbool_t svacgt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FACGT Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> AbsoluteCompareGreaterThan(Vector<double> left, Vector<double> right);
/// AbsoluteCompareGreaterThanOrEqual : Absolute compare greater than or equal to
/// svbool_t svacge[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FACGE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> AbsoluteCompareGreaterThanOrEqual(Vector<float> left, Vector<float> right);
/// svbool_t svacge[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FACGE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> AbsoluteCompareGreaterThanOrEqual(Vector<double> left, Vector<double> right);
/// AbsoluteCompareLessThan : Absolute compare less than
/// svbool_t svaclt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FACGT Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<float> AbsoluteCompareLessThan(Vector<float> left, Vector<float> right);
/// svbool_t svaclt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FACGT Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<double> AbsoluteCompareLessThan(Vector<double> left, Vector<double> right);
/// AbsoluteCompareLessThanOrEqual : Absolute compare less than or equal to
/// svbool_t svacle[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FACGE Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<float> AbsoluteCompareLessThanOrEqual(Vector<float> left, Vector<float> right);
/// svbool_t svacle[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FACGE Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<double> AbsoluteCompareLessThanOrEqual(Vector<double> left, Vector<double> right);
/// BreakAfter : Break after first true condition
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<sbyte> BreakAfter(Vector<sbyte> value);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<short> BreakAfter(Vector<short> value);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<int> BreakAfter(Vector<int> value);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<long> BreakAfter(Vector<long> value);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<byte> BreakAfter(Vector<byte> value);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<ushort> BreakAfter(Vector<ushort> value);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<uint> BreakAfter(Vector<uint> value);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<ulong> BreakAfter(Vector<ulong> value);
/// BreakAfterPropagate : Break after first true condition, propagating from previous partition
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<sbyte> BreakAfterPropagate(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<short> BreakAfterPropagate(Vector<short> left, Vector<short> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<int> BreakAfterPropagate(Vector<int> left, Vector<int> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<long> BreakAfterPropagate(Vector<long> left, Vector<long> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<byte> BreakAfterPropagate(Vector<byte> left, Vector<byte> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<ushort> BreakAfterPropagate(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<uint> BreakAfterPropagate(Vector<uint> left, Vector<uint> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<ulong> BreakAfterPropagate(Vector<ulong> left, Vector<ulong> right);
/// BreakBefore : Break before first true condition
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<sbyte> BreakBefore(Vector<sbyte> value);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<short> BreakBefore(Vector<short> value);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<int> BreakBefore(Vector<int> value);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<long> BreakBefore(Vector<long> value);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<byte> BreakBefore(Vector<byte> value);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<ushort> BreakBefore(Vector<ushort> value);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<uint> BreakBefore(Vector<uint> value);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<ulong> BreakBefore(Vector<ulong> value);
/// BreakBeforePropagate : Break before first true condition, propagating from previous partition
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<sbyte> BreakBeforePropagate(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<short> BreakBeforePropagate(Vector<short> left, Vector<short> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<int> BreakBeforePropagate(Vector<int> left, Vector<int> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<long> BreakBeforePropagate(Vector<long> left, Vector<long> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<byte> BreakBeforePropagate(Vector<byte> left, Vector<byte> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<ushort> BreakBeforePropagate(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<uint> BreakBeforePropagate(Vector<uint> left, Vector<uint> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<ulong> BreakBeforePropagate(Vector<ulong> left, Vector<ulong> right);
/// Compact : Shuffle active elements of vector to the right and fill with zero
/// svfloat32_t svcompact[_f32](svbool_t pg, svfloat32_t op) : "COMPACT Zresult.S, Pg, Zop.S"
public static unsafe Vector<float> Compact(Vector<float> mask, Vector<float> op);
/// svfloat64_t svcompact[_f64](svbool_t pg, svfloat64_t op) : "COMPACT Zresult.D, Pg, Zop.D"
public static unsafe Vector<double> Compact(Vector<double> mask, Vector<double> op);
/// svint32_t svcompact[_s32](svbool_t pg, svint32_t op) : "COMPACT Zresult.S, Pg, Zop.S"
public static unsafe Vector<int> Compact(Vector<int> mask, Vector<int> op);
/// svint64_t svcompact[_s64](svbool_t pg, svint64_t op) : "COMPACT Zresult.D, Pg, Zop.D"
public static unsafe Vector<long> Compact(Vector<long> mask, Vector<long> op);
/// svuint32_t svcompact[_u32](svbool_t pg, svuint32_t op) : "COMPACT Zresult.S, Pg, Zop.S"
public static unsafe Vector<uint> Compact(Vector<uint> mask, Vector<uint> op);
/// svuint64_t svcompact[_u64](svbool_t pg, svuint64_t op) : "COMPACT Zresult.D, Pg, Zop.D"
public static unsafe Vector<ulong> Compact(Vector<ulong> mask, Vector<ulong> op);
/// CompareEqualTo : Compare equal to
/// svbool_t svcmpeq[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMEQ Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareEqualTo(Vector<float> left, Vector<float> right);
/// svbool_t svcmpeq[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMEQ Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareEqualTo(Vector<double> left, Vector<double> right);
/// svbool_t svcmpeq[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<sbyte> CompareEqualTo(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmpeq[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<short> CompareEqualTo(Vector<short> left, Vector<short> right);
/// svbool_t svcmpeq[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<int> CompareEqualTo(Vector<int> left, Vector<int> right);
/// svbool_t svcmpeq[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPEQ Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<long> CompareEqualTo(Vector<long> left, Vector<long> right);
/// svbool_t svcmpeq[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<byte> CompareEqualTo(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmpeq[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<ushort> CompareEqualTo(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmpeq[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<uint> CompareEqualTo(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmpeq[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPEQ Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<ulong> CompareEqualTo(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmpeq_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareEqualTo(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmpeq_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareEqualTo(Vector<short> left, Vector<long> right);
/// svbool_t svcmpeq_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareEqualTo(Vector<int> left, Vector<long> right);
/// CompareGreaterThan : Compare greater than
/// svbool_t svcmpgt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMGT Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareGreaterThan(Vector<float> left, Vector<float> right);
/// svbool_t svcmpgt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMGT Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareGreaterThan(Vector<double> left, Vector<double> right);
/// svbool_t svcmpgt[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPGT Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<sbyte> CompareGreaterThan(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmpgt[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPGT Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<short> CompareGreaterThan(Vector<short> left, Vector<short> right);
/// svbool_t svcmpgt[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPGT Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<int> CompareGreaterThan(Vector<int> left, Vector<int> right);
/// svbool_t svcmpgt[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPGT Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<long> CompareGreaterThan(Vector<long> left, Vector<long> right);
/// svbool_t svcmpgt[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPHI Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<byte> CompareGreaterThan(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmpgt[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPHI Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<ushort> CompareGreaterThan(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmpgt[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPHI Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<uint> CompareGreaterThan(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmpgt[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPHI Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<ulong> CompareGreaterThan(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmpgt_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPGT Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareGreaterThan(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmpgt_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPGT Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareGreaterThan(Vector<short> left, Vector<long> right);
/// svbool_t svcmpgt_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPGT Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareGreaterThan(Vector<int> left, Vector<long> right);
/// svbool_t svcmpgt_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) : "CMPHI Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<byte> CompareGreaterThan(Vector<byte> left, Vector<ulong> right);
/// svbool_t svcmpgt_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) : "CMPHI Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<ushort> CompareGreaterThan(Vector<ushort> left, Vector<ulong> right);
/// svbool_t svcmpgt_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) : "CMPHI Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<uint> CompareGreaterThan(Vector<uint> left, Vector<ulong> right);
/// CompareGreaterThanOrEqual : Compare greater than or equal to
/// svbool_t svcmpge[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMGE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareGreaterThanOrEqual(Vector<float> left, Vector<float> right);
/// svbool_t svcmpge[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMGE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareGreaterThanOrEqual(Vector<double> left, Vector<double> right);
/// svbool_t svcmpge[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPGE Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<sbyte> CompareGreaterThanOrEqual(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmpge[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPGE Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<short> CompareGreaterThanOrEqual(Vector<short> left, Vector<short> right);
/// svbool_t svcmpge[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPGE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<int> CompareGreaterThanOrEqual(Vector<int> left, Vector<int> right);
/// svbool_t svcmpge[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPGE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<long> CompareGreaterThanOrEqual(Vector<long> left, Vector<long> right);
/// svbool_t svcmpge[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPHS Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<byte> CompareGreaterThanOrEqual(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmpge[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPHS Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<ushort> CompareGreaterThanOrEqual(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmpge[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPHS Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<uint> CompareGreaterThanOrEqual(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmpge[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPHS Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<ulong> CompareGreaterThanOrEqual(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmpge_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPGE Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareGreaterThanOrEqual(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmpge_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPGE Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareGreaterThanOrEqual(Vector<short> left, Vector<long> right);
/// svbool_t svcmpge_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPGE Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareGreaterThanOrEqual(Vector<int> left, Vector<long> right);
/// svbool_t svcmpge_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) : "CMPHS Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<byte> CompareGreaterThanOrEqual(Vector<byte> left, Vector<ulong> right);
/// svbool_t svcmpge_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) : "CMPHS Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<ushort> CompareGreaterThanOrEqual(Vector<ushort> left, Vector<ulong> right);
/// svbool_t svcmpge_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) : "CMPHS Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<uint> CompareGreaterThanOrEqual(Vector<uint> left, Vector<ulong> right);
/// CompareLessThan : Compare less than
/// svbool_t svcmplt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMGT Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<float> CompareLessThan(Vector<float> left, Vector<float> right);
/// svbool_t svcmplt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMGT Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<double> CompareLessThan(Vector<double> left, Vector<double> right);
/// svbool_t svcmplt[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPGT Presult.B, Pg/Z, Zop2.B, Zop1.B"
public static unsafe Vector<sbyte> CompareLessThan(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmplt[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPGT Presult.H, Pg/Z, Zop2.H, Zop1.H"
public static unsafe Vector<short> CompareLessThan(Vector<short> left, Vector<short> right);
/// svbool_t svcmplt[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPGT Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<int> CompareLessThan(Vector<int> left, Vector<int> right);
/// svbool_t svcmplt[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPGT Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<long> CompareLessThan(Vector<long> left, Vector<long> right);
/// svbool_t svcmplt[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPHI Presult.B, Pg/Z, Zop2.B, Zop1.B"
public static unsafe Vector<byte> CompareLessThan(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmplt[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPHI Presult.H, Pg/Z, Zop2.H, Zop1.H"
public static unsafe Vector<ushort> CompareLessThan(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmplt[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPHI Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<uint> CompareLessThan(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmplt[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPHI Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<ulong> CompareLessThan(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmplt_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPLT Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareLessThan(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmplt_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPLT Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareLessThan(Vector<short> left, Vector<long> right);
/// svbool_t svcmplt_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPLT Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareLessThan(Vector<int> left, Vector<long> right);
/// svbool_t svcmplt_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) : "CMPLO Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<byte> CompareLessThan(Vector<byte> left, Vector<ulong> right);
/// svbool_t svcmplt_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) : "CMPLO Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<ushort> CompareLessThan(Vector<ushort> left, Vector<ulong> right);
/// svbool_t svcmplt_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) : "CMPLO Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<uint> CompareLessThan(Vector<uint> left, Vector<ulong> right);
/// CompareLessThanOrEqual : Compare less than or equal to
/// svbool_t svcmple[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMGE Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<float> CompareLessThanOrEqual(Vector<float> left, Vector<float> right);
/// svbool_t svcmple[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMGE Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<double> CompareLessThanOrEqual(Vector<double> left, Vector<double> right);
/// svbool_t svcmple[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPGE Presult.B, Pg/Z, Zop2.B, Zop1.B"
public static unsafe Vector<sbyte> CompareLessThanOrEqual(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmple[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPGE Presult.H, Pg/Z, Zop2.H, Zop1.H"
public static unsafe Vector<short> CompareLessThanOrEqual(Vector<short> left, Vector<short> right);
/// svbool_t svcmple[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPGE Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<int> CompareLessThanOrEqual(Vector<int> left, Vector<int> right);
/// svbool_t svcmple[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPGE Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<long> CompareLessThanOrEqual(Vector<long> left, Vector<long> right);
/// svbool_t svcmple[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPHS Presult.B, Pg/Z, Zop2.B, Zop1.B"
public static unsafe Vector<byte> CompareLessThanOrEqual(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmple[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPHS Presult.H, Pg/Z, Zop2.H, Zop1.H"
public static unsafe Vector<ushort> CompareLessThanOrEqual(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmple[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPHS Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<uint> CompareLessThanOrEqual(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmple[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPHS Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<ulong> CompareLessThanOrEqual(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmple_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPLE Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareLessThanOrEqual(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmple_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPLE Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareLessThanOrEqual(Vector<short> left, Vector<long> right);
/// svbool_t svcmple_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPLE Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareLessThanOrEqual(Vector<int> left, Vector<long> right);
/// svbool_t svcmple_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) : "CMPLS Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<byte> CompareLessThanOrEqual(Vector<byte> left, Vector<ulong> right);
/// svbool_t svcmple_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) : "CMPLS Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<ushort> CompareLessThanOrEqual(Vector<ushort> left, Vector<ulong> right);
/// svbool_t svcmple_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) : "CMPLS Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<uint> CompareLessThanOrEqual(Vector<uint> left, Vector<ulong> right);
/// CompareNotEqualTo : Compare not equal to
/// svbool_t svcmpne[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMNE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareNotEqualTo(Vector<float> left, Vector<float> right);
/// svbool_t svcmpne[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMNE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareNotEqualTo(Vector<double> left, Vector<double> right);
/// svbool_t svcmpne[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<sbyte> CompareNotEqualTo(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmpne[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<short> CompareNotEqualTo(Vector<short> left, Vector<short> right);
/// svbool_t svcmpne[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<int> CompareNotEqualTo(Vector<int> left, Vector<int> right);
/// svbool_t svcmpne[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPNE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<long> CompareNotEqualTo(Vector<long> left, Vector<long> right);
/// svbool_t svcmpne[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<byte> CompareNotEqualTo(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmpne[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<ushort> CompareNotEqualTo(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmpne[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<uint> CompareNotEqualTo(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmpne[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPNE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<ulong> CompareNotEqualTo(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmpne_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareNotEqualTo(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmpne_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareNotEqualTo(Vector<short> left, Vector<long> right);
/// svbool_t svcmpne_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareNotEqualTo(Vector<int> left, Vector<long> right);
/// CompareUnordered : Compare unordered with
/// svbool_t svcmpuo[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMUO Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareUnordered(Vector<float> left, Vector<float> right);
/// svbool_t svcmpuo[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMUO Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareUnordered(Vector<double> left, Vector<double> right);
/// ConditionalExtractAfterLast : Conditionally extract element after last
/// svfloat32_t svclasta[_f32](svbool_t pg, svfloat32_t fallback, svfloat32_t data) : "CLASTA Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<float> ConditionalExtractAfterLast(Vector<float> mask, Vector<float> fallback, Vector<float> data);
/// svfloat64_t svclasta[_f64](svbool_t pg, svfloat64_t fallback, svfloat64_t data) : "CLASTA Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<double> ConditionalExtractAfterLast(Vector<double> mask, Vector<double> fallback, Vector<double> data);
/// svint8_t svclasta[_s8](svbool_t pg, svint8_t fallback, svint8_t data) : "CLASTA Ztied.B, Pg, Ztied.B, Zdata.B" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.B, Pg, Zresult.B, Zdata.B"
public static unsafe Vector<sbyte> ConditionalExtractAfterLast(Vector<sbyte> mask, Vector<sbyte> fallback, Vector<sbyte> data);
/// svint16_t svclasta[_s16](svbool_t pg, svint16_t fallback, svint16_t data) : "CLASTA Ztied.H, Pg, Ztied.H, Zdata.H" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H"
public static unsafe Vector<short> ConditionalExtractAfterLast(Vector<short> mask, Vector<short> fallback, Vector<short> data);
/// svint32_t svclasta[_s32](svbool_t pg, svint32_t fallback, svint32_t data) : "CLASTA Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<int> ConditionalExtractAfterLast(Vector<int> mask, Vector<int> fallback, Vector<int> data);
/// svint64_t svclasta[_s64](svbool_t pg, svint64_t fallback, svint64_t data) : "CLASTA Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<long> ConditionalExtractAfterLast(Vector<long> mask, Vector<long> fallback, Vector<long> data);
/// svuint8_t svclasta[_u8](svbool_t pg, svuint8_t fallback, svuint8_t data) : "CLASTA Ztied.B, Pg, Ztied.B, Zdata.B" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.B, Pg, Zresult.B, Zdata.B"
public static unsafe Vector<byte> ConditionalExtractAfterLast(Vector<byte> mask, Vector<byte> fallback, Vector<byte> data);
/// svuint16_t svclasta[_u16](svbool_t pg, svuint16_t fallback, svuint16_t data) : "CLASTA Ztied.H, Pg, Ztied.H, Zdata.H" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H"
public static unsafe Vector<ushort> ConditionalExtractAfterLast(Vector<ushort> mask, Vector<ushort> fallback, Vector<ushort> data);
/// svuint32_t svclasta[_u32](svbool_t pg, svuint32_t fallback, svuint32_t data) : "CLASTA Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<uint> ConditionalExtractAfterLast(Vector<uint> mask, Vector<uint> fallback, Vector<uint> data);
/// svuint64_t svclasta[_u64](svbool_t pg, svuint64_t fallback, svuint64_t data) : "CLASTA Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<ulong> ConditionalExtractAfterLast(Vector<ulong> mask, Vector<ulong> fallback, Vector<ulong> data);
/// ConditionalExtractLast : Conditionally extract last element
/// svfloat32_t svclastb[_f32](svbool_t pg, svfloat32_t fallback, svfloat32_t data) : "CLASTB Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<float> ConditionalExtractLast(Vector<float> mask, Vector<float> fallback, Vector<float> data);
/// svfloat64_t svclastb[_f64](svbool_t pg, svfloat64_t fallback, svfloat64_t data) : "CLASTB Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<double> ConditionalExtractLast(Vector<double> mask, Vector<double> fallback, Vector<double> data);
/// svint8_t svclastb[_s8](svbool_t pg, svint8_t fallback, svint8_t data) : "CLASTB Ztied.B, Pg, Ztied.B, Zdata.B" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.B, Pg, Zresult.B, Zdata.B"
public static unsafe Vector<sbyte> ConditionalExtractLast(Vector<sbyte> mask, Vector<sbyte> fallback, Vector<sbyte> data);
/// svint16_t svclastb[_s16](svbool_t pg, svint16_t fallback, svint16_t data) : "CLASTB Ztied.H, Pg, Ztied.H, Zdata.H" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H"
public static unsafe Vector<short> ConditionalExtractLast(Vector<short> mask, Vector<short> fallback, Vector<short> data);
/// svint32_t svclastb[_s32](svbool_t pg, svint32_t fallback, svint32_t data) : "CLASTB Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<int> ConditionalExtractLast(Vector<int> mask, Vector<int> fallback, Vector<int> data);
/// svint64_t svclastb[_s64](svbool_t pg, svint64_t fallback, svint64_t data) : "CLASTB Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<long> ConditionalExtractLast(Vector<long> mask, Vector<long> fallback, Vector<long> data);
/// svuint8_t svclastb[_u8](svbool_t pg, svuint8_t fallback, svuint8_t data) : "CLASTB Ztied.B, Pg, Ztied.B, Zdata.B" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.B, Pg, Zresult.B, Zdata.B"
public static unsafe Vector<byte> ConditionalExtractLast(Vector<byte> mask, Vector<byte> fallback, Vector<byte> data);
/// svuint16_t svclastb[_u16](svbool_t pg, svuint16_t fallback, svuint16_t data) : "CLASTB Ztied.H, Pg, Ztied.H, Zdata.H" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H"
public static unsafe Vector<ushort> ConditionalExtractLast(Vector<ushort> mask, Vector<ushort> fallback, Vector<ushort> data);
/// svuint32_t svclastb[_u32](svbool_t pg, svuint32_t fallback, svuint32_t data) : "CLASTB Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<uint> ConditionalExtractLast(Vector<uint> mask, Vector<uint> fallback, Vector<uint> data);
/// svuint64_t svclastb[_u64](svbool_t pg, svuint64_t fallback, svuint64_t data) : "CLASTB Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<ulong> ConditionalExtractLast(Vector<ulong> mask, Vector<ulong> fallback, Vector<ulong> data);
/// ConditionalSelect : Conditionally select elements
/// svfloat32_t svsel[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "SEL Zresult.S, Pg, Zop1.S, Zop2.S"
public static unsafe Vector<float> ConditionalSelect(Vector<float> mask, Vector<float> op1, Vector<float> op2);
/// svfloat64_t svsel[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "SEL Zresult.D, Pg, Zop1.D, Zop2.D"
public static unsafe Vector<double> ConditionalSelect(Vector<double> mask, Vector<double> op1, Vector<double> op2);
/// svint8_t svsel[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "SEL Zresult.B, Pg, Zop1.B, Zop2.B"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<sbyte> ConditionalSelect(Vector<sbyte> mask, Vector<sbyte> op1, Vector<sbyte> op2);
/// svint16_t svsel[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "SEL Zresult.H, Pg, Zop1.H, Zop2.H"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<short> ConditionalSelect(Vector<short> mask, Vector<short> op1, Vector<short> op2);
/// svint32_t svsel[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "SEL Zresult.S, Pg, Zop1.S, Zop2.S"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<int> ConditionalSelect(Vector<int> mask, Vector<int> op1, Vector<int> op2);
/// svint64_t svsel[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "SEL Zresult.D, Pg, Zop1.D, Zop2.D"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<long> ConditionalSelect(Vector<long> mask, Vector<long> op1, Vector<long> op2);
/// svuint8_t svsel[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "SEL Zresult.B, Pg, Zop1.B, Zop2.B"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<byte> ConditionalSelect(Vector<byte> mask, Vector<byte> op1, Vector<byte> op2);
/// svuint16_t svsel[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "SEL Zresult.H, Pg, Zop1.H, Zop2.H"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<ushort> ConditionalSelect(Vector<ushort> mask, Vector<ushort> op1, Vector<ushort> op2);
/// svuint32_t svsel[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "SEL Zresult.S, Pg, Zop1.S, Zop2.S"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<uint> ConditionalSelect(Vector<uint> mask, Vector<uint> op1, Vector<uint> op2);
/// svuint64_t svsel[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "SEL Zresult.D, Pg, Zop1.D, Zop2.D"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<ulong> ConditionalSelect(Vector<ulong> mask, Vector<ulong> op1, Vector<ulong> op2);
/// ExtractAfterLast : Extract element after last
/// float32_t svlasta[_f32](svbool_t pg, svfloat32_t op) : "LASTA Wresult, Pg, Zop.S" or "LASTA Sresult, Pg, Zop.S"
public static unsafe float ExtractAfterLast(Vector<float> value);
/// float64_t svlasta[_f64](svbool_t pg, svfloat64_t op) : "LASTA Xresult, Pg, Zop.D" or "LASTA Dresult, Pg, Zop.D"
public static unsafe double ExtractAfterLast(Vector<double> value);
/// int8_t svlasta[_s8](svbool_t pg, svint8_t op) : "LASTA Wresult, Pg, Zop.B" or "LASTA Bresult, Pg, Zop.B"
public static unsafe sbyte ExtractAfterLast(Vector<sbyte> value);
/// int16_t svlasta[_s16](svbool_t pg, svint16_t op) : "LASTA Wresult, Pg, Zop.H" or "LASTA Hresult, Pg, Zop.H"
public static unsafe short ExtractAfterLast(Vector<short> value);
/// int32_t svlasta[_s32](svbool_t pg, svint32_t op) : "LASTA Wresult, Pg, Zop.S" or "LASTA Sresult, Pg, Zop.S"
public static unsafe int ExtractAfterLast(Vector<int> value);
/// int64_t svlasta[_s64](svbool_t pg, svint64_t op) : "LASTA Xresult, Pg, Zop.D" or "LASTA Dresult, Pg, Zop.D"
public static unsafe long ExtractAfterLast(Vector<long> value);
/// uint8_t svlasta[_u8](svbool_t pg, svuint8_t op) : "LASTA Wresult, Pg, Zop.B" or "LASTA Bresult, Pg, Zop.B"
public static unsafe byte ExtractAfterLast(Vector<byte> value);
/// uint16_t svlasta[_u16](svbool_t pg, svuint16_t op) : "LASTA Wresult, Pg, Zop.H" or "LASTA Hresult, Pg, Zop.H"
public static unsafe ushort ExtractAfterLast(Vector<ushort> value);
/// uint32_t svlasta[_u32](svbool_t pg, svuint32_t op) : "LASTA Wresult, Pg, Zop.S" or "LASTA Sresult, Pg, Zop.S"
public static unsafe uint ExtractAfterLast(Vector<uint> value);
/// uint64_t svlasta[_u64](svbool_t pg, svuint64_t op) : "LASTA Xresult, Pg, Zop.D" or "LASTA Dresult, Pg, Zop.D"
public static unsafe ulong ExtractAfterLast(Vector<ulong> value);
/// ExtractLast : Extract last element
/// float32_t svlastb[_f32](svbool_t pg, svfloat32_t op) : "LASTB Wresult, Pg, Zop.S" or "LASTB Sresult, Pg, Zop.S"
public static unsafe float ExtractLast(Vector<float> value);
/// float64_t svlastb[_f64](svbool_t pg, svfloat64_t op) : "LASTB Xresult, Pg, Zop.D" or "LASTB Dresult, Pg, Zop.D"
public static unsafe double ExtractLast(Vector<double> value);
/// int8_t svlastb[_s8](svbool_t pg, svint8_t op) : "LASTB Wresult, Pg, Zop.B" or "LASTB Bresult, Pg, Zop.B"
public static unsafe sbyte ExtractLast(Vector<sbyte> value);
/// int16_t svlastb[_s16](svbool_t pg, svint16_t op) : "LASTB Wresult, Pg, Zop.H" or "LASTB Hresult, Pg, Zop.H"
public static unsafe short ExtractLast(Vector<short> value);
/// int32_t svlastb[_s32](svbool_t pg, svint32_t op) : "LASTB Wresult, Pg, Zop.S" or "LASTB Sresult, Pg, Zop.S"
public static unsafe int ExtractLast(Vector<int> value);
/// int64_t svlastb[_s64](svbool_t pg, svint64_t op) : "LASTB Xresult, Pg, Zop.D" or "LASTB Dresult, Pg, Zop.D"
public static unsafe long ExtractLast(Vector<long> value);
/// uint8_t svlastb[_u8](svbool_t pg, svuint8_t op) : "LASTB Wresult, Pg, Zop.B" or "LASTB Bresult, Pg, Zop.B"
public static unsafe byte ExtractLast(Vector<byte> value);
/// uint16_t svlastb[_u16](svbool_t pg, svuint16_t op) : "LASTB Wresult, Pg, Zop.H" or "LASTB Hresult, Pg, Zop.H"
public static unsafe ushort ExtractLast(Vector<ushort> value);
/// uint32_t svlastb[_u32](svbool_t pg, svuint32_t op) : "LASTB Wresult, Pg, Zop.S" or "LASTB Sresult, Pg, Zop.S"
public static unsafe uint ExtractLast(Vector<uint> value);
/// uint64_t svlastb[_u64](svbool_t pg, svuint64_t op) : "LASTB Xresult, Pg, Zop.D" or "LASTB Dresult, Pg, Zop.D"
public static unsafe ulong ExtractLast(Vector<ulong> value);
/// ExtractVector : Extract vector from pair of vectors
/// svfloat32_t svext[_f32](svfloat32_t op1, svfloat32_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4"
public static unsafe Vector<float> ExtractVector(Vector<float> upper, Vector<float> lower, ulong index);
/// svfloat64_t svext[_f64](svfloat64_t op1, svfloat64_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8"
public static unsafe Vector<double> ExtractVector(Vector<double> upper, Vector<double> lower, ulong index);
/// svint8_t svext[_s8](svint8_t op1, svint8_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3"
public static unsafe Vector<sbyte> ExtractVector(Vector<sbyte> upper, Vector<sbyte> lower, ulong index);
/// svint16_t svext[_s16](svint16_t op1, svint16_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2"
public static unsafe Vector<short> ExtractVector(Vector<short> upper, Vector<short> lower, ulong index);
/// svint32_t svext[_s32](svint32_t op1, svint32_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4"
public static unsafe Vector<int> ExtractVector(Vector<int> upper, Vector<int> lower, ulong index);
/// svint64_t svext[_s64](svint64_t op1, svint64_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8"
public static unsafe Vector<long> ExtractVector(Vector<long> upper, Vector<long> lower, ulong index);
/// svuint8_t svext[_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3"
public static unsafe Vector<byte> ExtractVector(Vector<byte> upper, Vector<byte> lower, ulong index);
/// svuint16_t svext[_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2"
public static unsafe Vector<ushort> ExtractVector(Vector<ushort> upper, Vector<ushort> lower, ulong index);
/// svuint32_t svext[_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4"
public static unsafe Vector<uint> ExtractVector(Vector<uint> upper, Vector<uint> lower, ulong index);
/// svuint64_t svext[_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8"
public static unsafe Vector<ulong> ExtractVector(Vector<ulong> upper, Vector<ulong> lower, ulong index);
/// MaskClearAll : Set all predicate elements to false
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<sbyte> MaskClearAll();
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<short> MaskClearAll();
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<int> MaskClearAll();
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<long> MaskClearAll();
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<byte> MaskClearAll();
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<ushort> MaskClearAll();
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<uint> MaskClearAll();
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<ulong> MaskClearAll();
/// MaskGetFirstSet : Find next active predicate
/// svbool_t svpnext_b8(svbool_t pg, svbool_t op) : "PNEXT Ptied.B, Pg, Ptied.B"
public static unsafe Vector<byte> MaskGetFirstSet(Vector<byte> value);
/// svbool_t svpnext_b16(svbool_t pg, svbool_t op) : "PNEXT Ptied.H, Pg, Ptied.H"
public static unsafe Vector<ushort> MaskGetFirstSet(Vector<ushort> value);
/// svbool_t svpnext_b32(svbool_t pg, svbool_t op) : "PNEXT Ptied.S, Pg, Ptied.S"
public static unsafe Vector<uint> MaskGetFirstSet(Vector<uint> value);
/// svbool_t svpnext_b64(svbool_t pg, svbool_t op) : "PNEXT Ptied.D, Pg, Ptied.D"
public static unsafe Vector<ulong> MaskGetFirstSet(Vector<ulong> value);
/// MaskSetAll : Set predicate elements to true
/// svbool_t svptrue_b8() : "PTRUE Presult.B, ALL"
public static unsafe Vector<byte> MaskSetAll();
/// svbool_t svptrue_b16() : "PTRUE Presult.H, ALL"
public static unsafe Vector<ushort> MaskSetAll();
/// svbool_t svptrue_b32() : "PTRUE Presult.S, ALL"
public static unsafe Vector<uint> MaskSetAll();
/// svbool_t svptrue_b64() : "PTRUE Presult.D, ALL"
public static unsafe Vector<ulong> MaskSetAll();
/// svbool_t svptrue_pat_b8(enum svpattern pattern) : "PTRUE Presult.B, pattern"
public static unsafe Vector<byte> MaskSetAll(enum svpattern pattern);
/// svbool_t svptrue_pat_b16(enum svpattern pattern) : "PTRUE Presult.H, pattern"
public static unsafe Vector<ushort> MaskSetAll(enum svpattern pattern);
/// svbool_t svptrue_pat_b32(enum svpattern pattern) : "PTRUE Presult.S, pattern"
public static unsafe Vector<uint> MaskSetAll(enum svpattern pattern);
/// svbool_t svptrue_pat_b64(enum svpattern pattern) : "PTRUE Presult.D, pattern"
public static unsafe Vector<ulong> MaskSetAll(enum svpattern pattern);
/// MaskSetFirst : Set the first active predicate element to true
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<sbyte> MaskSetFirst(Vector<sbyte> value);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<short> MaskSetFirst(Vector<short> value);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<int> MaskSetFirst(Vector<int> value);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<long> MaskSetFirst(Vector<long> value);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<byte> MaskSetFirst(Vector<byte> value);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<ushort> MaskSetFirst(Vector<ushort> value);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<uint> MaskSetFirst(Vector<uint> value);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<ulong> MaskSetFirst(Vector<ulong> value);
/// PropagateBreak : Propagate break to next partition
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<sbyte> PropagateBreak(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<short> PropagateBreak(Vector<short> left, Vector<short> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<int> PropagateBreak(Vector<int> left, Vector<int> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<long> PropagateBreak(Vector<long> left, Vector<long> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<byte> PropagateBreak(Vector<byte> left, Vector<byte> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<ushort> PropagateBreak(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<uint> PropagateBreak(Vector<uint> left, Vector<uint> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<ulong> PropagateBreak(Vector<ulong> left, Vector<ulong> right);
/// WhileLessThan : While incrementing scalar is less than
/// svbool_t svwhilelt_b8[_s32](int32_t op1, int32_t op2) : "WHILELT Presult.B, Wop1, Wop2"
public static unsafe Vector<byte> WhileLessThan(int left, int right);
/// svbool_t svwhilelt_b8[_s64](int64_t op1, int64_t op2) : "WHILELT Presult.B, Xop1, Xop2"
public static unsafe Vector<byte> WhileLessThan(long left, long right);
/// svbool_t svwhilelt_b8[_u32](uint32_t op1, uint32_t op2) : "WHILELO Presult.B, Wop1, Wop2"
public static unsafe Vector<byte> WhileLessThan(uint left, uint right);
/// svbool_t svwhilelt_b8[_u64](uint64_t op1, uint64_t op2) : "WHILELO Presult.B, Xop1, Xop2"
public static unsafe Vector<byte> WhileLessThan(ulong left, ulong right);
/// svbool_t svwhilelt_b16[_s32](int32_t op1, int32_t op2) : "WHILELT Presult.H, Wop1, Wop2"
public static unsafe Vector<ushort> WhileLessThan(int left, int right);
/// svbool_t svwhilelt_b16[_s64](int64_t op1, int64_t op2) : "WHILELT Presult.H, Xop1, Xop2"
public static unsafe Vector<ushort> WhileLessThan(long left, long right);
/// svbool_t svwhilelt_b16[_u32](uint32_t op1, uint32_t op2) : "WHILELO Presult.H, Wop1, Wop2"
public static unsafe Vector<ushort> WhileLessThan(uint left, uint right);
/// svbool_t svwhilelt_b16[_u64](uint64_t op1, uint64_t op2) : "WHILELO Presult.H, Xop1, Xop2"
public static unsafe Vector<ushort> WhileLessThan(ulong left, ulong right);
/// svbool_t svwhilelt_b32[_s32](int32_t op1, int32_t op2) : "WHILELT Presult.S, Wop1, Wop2"
public static unsafe Vector<uint> WhileLessThan(int left, int right);
/// svbool_t svwhilelt_b32[_s64](int64_t op1, int64_t op2) : "WHILELT Presult.S, Xop1, Xop2"
public static unsafe Vector<uint> WhileLessThan(long left, long right);
/// svbool_t svwhilelt_b32[_u32](uint32_t op1, uint32_t op2) : "WHILELO Presult.S, Wop1, Wop2"
public static unsafe Vector<uint> WhileLessThan(uint left, uint right);
/// svbool_t svwhilelt_b32[_u64](uint64_t op1, uint64_t op2) : "WHILELO Presult.S, Xop1, Xop2"
public static unsafe Vector<uint> WhileLessThan(ulong left, ulong right);
/// svbool_t svwhilelt_b64[_s32](int32_t op1, int32_t op2) : "WHILELT Presult.D, Wop1, Wop2"
public static unsafe Vector<ulong> WhileLessThan(int left, int right);
/// svbool_t svwhilelt_b64[_s64](int64_t op1, int64_t op2) : "WHILELT Presult.D, Xop1, Xop2"
public static unsafe Vector<ulong> WhileLessThan(long left, long right);
/// svbool_t svwhilelt_b64[_u32](uint32_t op1, uint32_t op2) : "WHILELO Presult.D, Wop1, Wop2"
public static unsafe Vector<ulong> WhileLessThan(uint left, uint right);
/// svbool_t svwhilelt_b64[_u64](uint64_t op1, uint64_t op2) : "WHILELO Presult.D, Xop1, Xop2"
public static unsafe Vector<ulong> WhileLessThan(ulong left, ulong right);
///continued....
|
/// Full API
public abstract partial class Sve : AdvSimd /// Feature: FEAT_SVE Category: mask
{
/// AbsoluteCompareGreaterThan : Absolute compare greater than
/// svbool_t svacgt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FACGT Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> AbsoluteCompareGreaterThan(Vector<float> left, Vector<float> right);
/// svbool_t svacgt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FACGT Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> AbsoluteCompareGreaterThan(Vector<double> left, Vector<double> right);
/// AbsoluteCompareGreaterThanOrEqual : Absolute compare greater than or equal to
/// svbool_t svacge[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FACGE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> AbsoluteCompareGreaterThanOrEqual(Vector<float> left, Vector<float> right);
/// svbool_t svacge[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FACGE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> AbsoluteCompareGreaterThanOrEqual(Vector<double> left, Vector<double> right);
/// AbsoluteCompareLessThan : Absolute compare less than
/// svbool_t svaclt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FACGT Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<float> AbsoluteCompareLessThan(Vector<float> left, Vector<float> right);
/// svbool_t svaclt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FACGT Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<double> AbsoluteCompareLessThan(Vector<double> left, Vector<double> right);
/// AbsoluteCompareLessThanOrEqual : Absolute compare less than or equal to
/// svbool_t svacle[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FACGE Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<float> AbsoluteCompareLessThanOrEqual(Vector<float> left, Vector<float> right);
/// svbool_t svacle[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FACGE Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<double> AbsoluteCompareLessThanOrEqual(Vector<double> left, Vector<double> right);
/// Compact : Shuffle active elements of vector to the right and fill with zero
/// svfloat32_t svcompact[_f32](svbool_t pg, svfloat32_t op) : "COMPACT Zresult.S, Pg, Zop.S"
public static unsafe Vector<float> Compact(Vector<float> mask, Vector<float> value);
/// svfloat64_t svcompact[_f64](svbool_t pg, svfloat64_t op) : "COMPACT Zresult.D, Pg, Zop.D"
public static unsafe Vector<double> Compact(Vector<double> mask, Vector<double> value);
/// svint32_t svcompact[_s32](svbool_t pg, svint32_t op) : "COMPACT Zresult.S, Pg, Zop.S"
public static unsafe Vector<int> Compact(Vector<int> mask, Vector<int> value);
/// svint64_t svcompact[_s64](svbool_t pg, svint64_t op) : "COMPACT Zresult.D, Pg, Zop.D"
public static unsafe Vector<long> Compact(Vector<long> mask, Vector<long> value);
/// svuint32_t svcompact[_u32](svbool_t pg, svuint32_t op) : "COMPACT Zresult.S, Pg, Zop.S"
public static unsafe Vector<uint> Compact(Vector<uint> mask, Vector<uint> value);
/// svuint64_t svcompact[_u64](svbool_t pg, svuint64_t op) : "COMPACT Zresult.D, Pg, Zop.D"
public static unsafe Vector<ulong> Compact(Vector<ulong> mask, Vector<ulong> value);
/// CompareEqual : Compare equal to
/// svbool_t svcmpeq[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMEQ Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareEqual(Vector<float> left, Vector<float> right);
/// svbool_t svcmpeq[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMEQ Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareEqual(Vector<double> left, Vector<double> right);
/// svbool_t svcmpeq[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<sbyte> CompareEqual(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmpeq[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<short> CompareEqual(Vector<short> left, Vector<short> right);
/// svbool_t svcmpeq[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<int> CompareEqual(Vector<int> left, Vector<int> right);
/// svbool_t svcmpeq[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPEQ Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<long> CompareEqual(Vector<long> left, Vector<long> right);
/// svbool_t svcmpeq[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<byte> CompareEqual(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmpeq[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<ushort> CompareEqual(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmpeq[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<uint> CompareEqual(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmpeq[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPEQ Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<ulong> CompareEqual(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmpeq_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPEQ Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareEqual(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmpeq_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPEQ Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareEqual(Vector<short> left, Vector<long> right);
/// svbool_t svcmpeq_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPEQ Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareEqual(Vector<int> left, Vector<long> right);
/// CompareGreaterThan : Compare greater than
/// svbool_t svcmpgt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMGT Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareGreaterThan(Vector<float> left, Vector<float> right);
/// svbool_t svcmpgt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMGT Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareGreaterThan(Vector<double> left, Vector<double> right);
/// svbool_t svcmpgt[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPGT Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<sbyte> CompareGreaterThan(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmpgt[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPGT Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<short> CompareGreaterThan(Vector<short> left, Vector<short> right);
/// svbool_t svcmpgt[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPGT Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<int> CompareGreaterThan(Vector<int> left, Vector<int> right);
/// svbool_t svcmpgt[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPGT Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<long> CompareGreaterThan(Vector<long> left, Vector<long> right);
/// svbool_t svcmpgt[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPHI Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<byte> CompareGreaterThan(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmpgt[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPHI Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<ushort> CompareGreaterThan(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmpgt[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPHI Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<uint> CompareGreaterThan(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmpgt[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPHI Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<ulong> CompareGreaterThan(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmpgt_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPGT Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareGreaterThan(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmpgt_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPGT Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareGreaterThan(Vector<short> left, Vector<long> right);
/// svbool_t svcmpgt_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPGT Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareGreaterThan(Vector<int> left, Vector<long> right);
/// svbool_t svcmpgt_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) : "CMPHI Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<byte> CompareGreaterThan(Vector<byte> left, Vector<ulong> right);
/// svbool_t svcmpgt_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) : "CMPHI Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<ushort> CompareGreaterThan(Vector<ushort> left, Vector<ulong> right);
/// svbool_t svcmpgt_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) : "CMPHI Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<uint> CompareGreaterThan(Vector<uint> left, Vector<ulong> right);
/// CompareGreaterThanOrEqual : Compare greater than or equal to
/// svbool_t svcmpge[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMGE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareGreaterThanOrEqual(Vector<float> left, Vector<float> right);
/// svbool_t svcmpge[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMGE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareGreaterThanOrEqual(Vector<double> left, Vector<double> right);
/// svbool_t svcmpge[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPGE Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<sbyte> CompareGreaterThanOrEqual(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmpge[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPGE Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<short> CompareGreaterThanOrEqual(Vector<short> left, Vector<short> right);
/// svbool_t svcmpge[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPGE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<int> CompareGreaterThanOrEqual(Vector<int> left, Vector<int> right);
/// svbool_t svcmpge[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPGE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<long> CompareGreaterThanOrEqual(Vector<long> left, Vector<long> right);
/// svbool_t svcmpge[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPHS Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<byte> CompareGreaterThanOrEqual(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmpge[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPHS Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<ushort> CompareGreaterThanOrEqual(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmpge[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPHS Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<uint> CompareGreaterThanOrEqual(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmpge[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPHS Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<ulong> CompareGreaterThanOrEqual(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmpge_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPGE Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareGreaterThanOrEqual(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmpge_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPGE Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareGreaterThanOrEqual(Vector<short> left, Vector<long> right);
/// svbool_t svcmpge_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPGE Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareGreaterThanOrEqual(Vector<int> left, Vector<long> right);
/// svbool_t svcmpge_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) : "CMPHS Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<byte> CompareGreaterThanOrEqual(Vector<byte> left, Vector<ulong> right);
/// svbool_t svcmpge_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) : "CMPHS Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<ushort> CompareGreaterThanOrEqual(Vector<ushort> left, Vector<ulong> right);
/// svbool_t svcmpge_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) : "CMPHS Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<uint> CompareGreaterThanOrEqual(Vector<uint> left, Vector<ulong> right);
/// CompareLessThan : Compare less than
/// svbool_t svcmplt[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMGT Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<float> CompareLessThan(Vector<float> left, Vector<float> right);
/// svbool_t svcmplt[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMGT Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<double> CompareLessThan(Vector<double> left, Vector<double> right);
/// svbool_t svcmplt[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPGT Presult.B, Pg/Z, Zop2.B, Zop1.B"
public static unsafe Vector<sbyte> CompareLessThan(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmplt[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPGT Presult.H, Pg/Z, Zop2.H, Zop1.H"
public static unsafe Vector<short> CompareLessThan(Vector<short> left, Vector<short> right);
/// svbool_t svcmplt[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPGT Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<int> CompareLessThan(Vector<int> left, Vector<int> right);
/// svbool_t svcmplt[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPGT Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<long> CompareLessThan(Vector<long> left, Vector<long> right);
/// svbool_t svcmplt[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPHI Presult.B, Pg/Z, Zop2.B, Zop1.B"
public static unsafe Vector<byte> CompareLessThan(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmplt[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPHI Presult.H, Pg/Z, Zop2.H, Zop1.H"
public static unsafe Vector<ushort> CompareLessThan(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmplt[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPHI Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<uint> CompareLessThan(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmplt[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPHI Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<ulong> CompareLessThan(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmplt_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPLT Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareLessThan(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmplt_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPLT Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareLessThan(Vector<short> left, Vector<long> right);
/// svbool_t svcmplt_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPLT Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareLessThan(Vector<int> left, Vector<long> right);
/// svbool_t svcmplt_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) : "CMPLO Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<byte> CompareLessThan(Vector<byte> left, Vector<ulong> right);
/// svbool_t svcmplt_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) : "CMPLO Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<ushort> CompareLessThan(Vector<ushort> left, Vector<ulong> right);
/// svbool_t svcmplt_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) : "CMPLO Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<uint> CompareLessThan(Vector<uint> left, Vector<ulong> right);
/// CompareLessThanOrEqual : Compare less than or equal to
/// svbool_t svcmple[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMGE Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<float> CompareLessThanOrEqual(Vector<float> left, Vector<float> right);
/// svbool_t svcmple[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMGE Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<double> CompareLessThanOrEqual(Vector<double> left, Vector<double> right);
/// svbool_t svcmple[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPGE Presult.B, Pg/Z, Zop2.B, Zop1.B"
public static unsafe Vector<sbyte> CompareLessThanOrEqual(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmple[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPGE Presult.H, Pg/Z, Zop2.H, Zop1.H"
public static unsafe Vector<short> CompareLessThanOrEqual(Vector<short> left, Vector<short> right);
/// svbool_t svcmple[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPGE Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<int> CompareLessThanOrEqual(Vector<int> left, Vector<int> right);
/// svbool_t svcmple[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPGE Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<long> CompareLessThanOrEqual(Vector<long> left, Vector<long> right);
/// svbool_t svcmple[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPHS Presult.B, Pg/Z, Zop2.B, Zop1.B"
public static unsafe Vector<byte> CompareLessThanOrEqual(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmple[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPHS Presult.H, Pg/Z, Zop2.H, Zop1.H"
public static unsafe Vector<ushort> CompareLessThanOrEqual(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmple[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPHS Presult.S, Pg/Z, Zop2.S, Zop1.S"
public static unsafe Vector<uint> CompareLessThanOrEqual(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmple[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPHS Presult.D, Pg/Z, Zop2.D, Zop1.D"
public static unsafe Vector<ulong> CompareLessThanOrEqual(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmple_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPLE Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareLessThanOrEqual(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmple_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPLE Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareLessThanOrEqual(Vector<short> left, Vector<long> right);
/// svbool_t svcmple_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPLE Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareLessThanOrEqual(Vector<int> left, Vector<long> right);
/// svbool_t svcmple_wide[_u8](svbool_t pg, svuint8_t op1, svuint64_t op2) : "CMPLS Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<byte> CompareLessThanOrEqual(Vector<byte> left, Vector<ulong> right);
/// svbool_t svcmple_wide[_u16](svbool_t pg, svuint16_t op1, svuint64_t op2) : "CMPLS Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<ushort> CompareLessThanOrEqual(Vector<ushort> left, Vector<ulong> right);
/// svbool_t svcmple_wide[_u32](svbool_t pg, svuint32_t op1, svuint64_t op2) : "CMPLS Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<uint> CompareLessThanOrEqual(Vector<uint> left, Vector<ulong> right);
/// CompareNotEqualTo : Compare not equal to
/// svbool_t svcmpne[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMNE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareNotEqualTo(Vector<float> left, Vector<float> right);
/// svbool_t svcmpne[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMNE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareNotEqualTo(Vector<double> left, Vector<double> right);
/// svbool_t svcmpne[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<sbyte> CompareNotEqualTo(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svcmpne[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<short> CompareNotEqualTo(Vector<short> left, Vector<short> right);
/// svbool_t svcmpne[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<int> CompareNotEqualTo(Vector<int> left, Vector<int> right);
/// svbool_t svcmpne[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "CMPNE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<long> CompareNotEqualTo(Vector<long> left, Vector<long> right);
/// svbool_t svcmpne[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.B"
public static unsafe Vector<byte> CompareNotEqualTo(Vector<byte> left, Vector<byte> right);
/// svbool_t svcmpne[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.H"
public static unsafe Vector<ushort> CompareNotEqualTo(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svcmpne[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<uint> CompareNotEqualTo(Vector<uint> left, Vector<uint> right);
/// svbool_t svcmpne[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "CMPNE Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<ulong> CompareNotEqualTo(Vector<ulong> left, Vector<ulong> right);
/// svbool_t svcmpne_wide[_s8](svbool_t pg, svint8_t op1, svint64_t op2) : "CMPNE Presult.B, Pg/Z, Zop1.B, Zop2.D"
public static unsafe Vector<sbyte> CompareNotEqualTo(Vector<sbyte> left, Vector<long> right);
/// svbool_t svcmpne_wide[_s16](svbool_t pg, svint16_t op1, svint64_t op2) : "CMPNE Presult.H, Pg/Z, Zop1.H, Zop2.D"
public static unsafe Vector<short> CompareNotEqualTo(Vector<short> left, Vector<long> right);
/// svbool_t svcmpne_wide[_s32](svbool_t pg, svint32_t op1, svint64_t op2) : "CMPNE Presult.S, Pg/Z, Zop1.S, Zop2.D"
public static unsafe Vector<int> CompareNotEqualTo(Vector<int> left, Vector<long> right);
/// CompareUnordered : Compare unordered with
/// svbool_t svcmpuo[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "FCMUO Presult.S, Pg/Z, Zop1.S, Zop2.S"
public static unsafe Vector<float> CompareUnordered(Vector<float> left, Vector<float> right);
/// svbool_t svcmpuo[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "FCMUO Presult.D, Pg/Z, Zop1.D, Zop2.D"
public static unsafe Vector<double> CompareUnordered(Vector<double> left, Vector<double> right);
/// ConditionalExtractAfterLastActiveElement : Conditionally extract element after last
/// svfloat32_t svclasta[_f32](svbool_t pg, svfloat32_t fallback, svfloat32_t data) : "CLASTA Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<float> ConditionalExtractAfterLastActiveElement(Vector<float> mask, Vector<float> fallback, Vector<float> data);
/// svfloat64_t svclasta[_f64](svbool_t pg, svfloat64_t fallback, svfloat64_t data) : "CLASTA Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<double> ConditionalExtractAfterLastActiveElement(Vector<double> mask, Vector<double> fallback, Vector<double> data);
/// svint8_t svclasta[_s8](svbool_t pg, svint8_t fallback, svint8_t data) : "CLASTA Ztied.B, Pg, Ztied.B, Zdata.B" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.B, Pg, Zresult.B, Zdata.B"
public static unsafe Vector<sbyte> ConditionalExtractAfterLastActiveElement(Vector<sbyte> mask, Vector<sbyte> fallback, Vector<sbyte> data);
/// svint16_t svclasta[_s16](svbool_t pg, svint16_t fallback, svint16_t data) : "CLASTA Ztied.H, Pg, Ztied.H, Zdata.H" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H"
public static unsafe Vector<short> ConditionalExtractAfterLastActiveElement(Vector<short> mask, Vector<short> fallback, Vector<short> data);
/// svint32_t svclasta[_s32](svbool_t pg, svint32_t fallback, svint32_t data) : "CLASTA Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<int> ConditionalExtractAfterLastActiveElement(Vector<int> mask, Vector<int> fallback, Vector<int> data);
/// svint64_t svclasta[_s64](svbool_t pg, svint64_t fallback, svint64_t data) : "CLASTA Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<long> ConditionalExtractAfterLastActiveElement(Vector<long> mask, Vector<long> fallback, Vector<long> data);
/// svuint8_t svclasta[_u8](svbool_t pg, svuint8_t fallback, svuint8_t data) : "CLASTA Ztied.B, Pg, Ztied.B, Zdata.B" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.B, Pg, Zresult.B, Zdata.B"
public static unsafe Vector<byte> ConditionalExtractAfterLastActiveElement(Vector<byte> mask, Vector<byte> fallback, Vector<byte> data);
/// svuint16_t svclasta[_u16](svbool_t pg, svuint16_t fallback, svuint16_t data) : "CLASTA Ztied.H, Pg, Ztied.H, Zdata.H" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.H, Pg, Zresult.H, Zdata.H"
public static unsafe Vector<ushort> ConditionalExtractAfterLastActiveElement(Vector<ushort> mask, Vector<ushort> fallback, Vector<ushort> data);
/// svuint32_t svclasta[_u32](svbool_t pg, svuint32_t fallback, svuint32_t data) : "CLASTA Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<uint> ConditionalExtractAfterLastActiveElement(Vector<uint> mask, Vector<uint> fallback, Vector<uint> data);
/// svuint64_t svclasta[_u64](svbool_t pg, svuint64_t fallback, svuint64_t data) : "CLASTA Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTA Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<ulong> ConditionalExtractAfterLastActiveElement(Vector<ulong> mask, Vector<ulong> fallback, Vector<ulong> data);
/// ConditionalExtractLastActiveElement : Conditionally extract last element
/// svfloat32_t svclastb[_f32](svbool_t pg, svfloat32_t fallback, svfloat32_t data) : "CLASTB Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<float> ConditionalExtractLastActiveElement(Vector<float> mask, Vector<float> fallback, Vector<float> data);
/// svfloat64_t svclastb[_f64](svbool_t pg, svfloat64_t fallback, svfloat64_t data) : "CLASTB Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<double> ConditionalExtractLastActiveElement(Vector<double> mask, Vector<double> fallback, Vector<double> data);
/// svint8_t svclastb[_s8](svbool_t pg, svint8_t fallback, svint8_t data) : "CLASTB Ztied.B, Pg, Ztied.B, Zdata.B" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.B, Pg, Zresult.B, Zdata.B"
public static unsafe Vector<sbyte> ConditionalExtractLastActiveElement(Vector<sbyte> mask, Vector<sbyte> fallback, Vector<sbyte> data);
/// svint16_t svclastb[_s16](svbool_t pg, svint16_t fallback, svint16_t data) : "CLASTB Ztied.H, Pg, Ztied.H, Zdata.H" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H"
public static unsafe Vector<short> ConditionalExtractLastActiveElement(Vector<short> mask, Vector<short> fallback, Vector<short> data);
/// svint32_t svclastb[_s32](svbool_t pg, svint32_t fallback, svint32_t data) : "CLASTB Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<int> ConditionalExtractLastActiveElement(Vector<int> mask, Vector<int> fallback, Vector<int> data);
/// svint64_t svclastb[_s64](svbool_t pg, svint64_t fallback, svint64_t data) : "CLASTB Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<long> ConditionalExtractLastActiveElement(Vector<long> mask, Vector<long> fallback, Vector<long> data);
/// svuint8_t svclastb[_u8](svbool_t pg, svuint8_t fallback, svuint8_t data) : "CLASTB Ztied.B, Pg, Ztied.B, Zdata.B" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.B, Pg, Zresult.B, Zdata.B"
public static unsafe Vector<byte> ConditionalExtractLastActiveElement(Vector<byte> mask, Vector<byte> fallback, Vector<byte> data);
/// svuint16_t svclastb[_u16](svbool_t pg, svuint16_t fallback, svuint16_t data) : "CLASTB Ztied.H, Pg, Ztied.H, Zdata.H" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.H, Pg, Zresult.H, Zdata.H"
public static unsafe Vector<ushort> ConditionalExtractLastActiveElement(Vector<ushort> mask, Vector<ushort> fallback, Vector<ushort> data);
/// svuint32_t svclastb[_u32](svbool_t pg, svuint32_t fallback, svuint32_t data) : "CLASTB Ztied.S, Pg, Ztied.S, Zdata.S" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.S, Pg, Zresult.S, Zdata.S"
public static unsafe Vector<uint> ConditionalExtractLastActiveElement(Vector<uint> mask, Vector<uint> fallback, Vector<uint> data);
/// svuint64_t svclastb[_u64](svbool_t pg, svuint64_t fallback, svuint64_t data) : "CLASTB Ztied.D, Pg, Ztied.D, Zdata.D" or "MOVPRFX Zresult, Zfallback; CLASTB Zresult.D, Pg, Zresult.D, Zdata.D"
public static unsafe Vector<ulong> ConditionalExtractLastActiveElement(Vector<ulong> mask, Vector<ulong> fallback, Vector<ulong> data);
/// ConditionalSelect : Conditionally select elements
/// svfloat32_t svsel[_f32](svbool_t pg, svfloat32_t op1, svfloat32_t op2) : "SEL Zresult.S, Pg, Zop1.S, Zop2.S"
public static unsafe Vector<float> ConditionalSelect(Vector<float> mask, Vector<float> left, Vector<float> right);
/// svfloat64_t svsel[_f64](svbool_t pg, svfloat64_t op1, svfloat64_t op2) : "SEL Zresult.D, Pg, Zop1.D, Zop2.D"
public static unsafe Vector<double> ConditionalSelect(Vector<double> mask, Vector<double> left, Vector<double> right);
/// svint8_t svsel[_s8](svbool_t pg, svint8_t op1, svint8_t op2) : "SEL Zresult.B, Pg, Zop1.B, Zop2.B"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<sbyte> ConditionalSelect(Vector<sbyte> mask, Vector<sbyte> left, Vector<sbyte> right);
/// svint16_t svsel[_s16](svbool_t pg, svint16_t op1, svint16_t op2) : "SEL Zresult.H, Pg, Zop1.H, Zop2.H"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<short> ConditionalSelect(Vector<short> mask, Vector<short> left, Vector<short> right);
/// svint32_t svsel[_s32](svbool_t pg, svint32_t op1, svint32_t op2) : "SEL Zresult.S, Pg, Zop1.S, Zop2.S"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<int> ConditionalSelect(Vector<int> mask, Vector<int> left, Vector<int> right);
/// svint64_t svsel[_s64](svbool_t pg, svint64_t op1, svint64_t op2) : "SEL Zresult.D, Pg, Zop1.D, Zop2.D"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<long> ConditionalSelect(Vector<long> mask, Vector<long> left, Vector<long> right);
/// svuint8_t svsel[_u8](svbool_t pg, svuint8_t op1, svuint8_t op2) : "SEL Zresult.B, Pg, Zop1.B, Zop2.B"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<byte> ConditionalSelect(Vector<byte> mask, Vector<byte> left, Vector<byte> right);
/// svuint16_t svsel[_u16](svbool_t pg, svuint16_t op1, svuint16_t op2) : "SEL Zresult.H, Pg, Zop1.H, Zop2.H"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<ushort> ConditionalSelect(Vector<ushort> mask, Vector<ushort> left, Vector<ushort> right);
/// svuint32_t svsel[_u32](svbool_t pg, svuint32_t op1, svuint32_t op2) : "SEL Zresult.S, Pg, Zop1.S, Zop2.S"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<uint> ConditionalSelect(Vector<uint> mask, Vector<uint> left, Vector<uint> right);
/// svuint64_t svsel[_u64](svbool_t pg, svuint64_t op1, svuint64_t op2) : "SEL Zresult.D, Pg, Zop1.D, Zop2.D"
/// svbool_t svsel[_b](svbool_t pg, svbool_t op1, svbool_t op2) : "SEL Presult.B, Pg, Pop1.B, Pop2.B"
public static unsafe Vector<ulong> ConditionalSelect(Vector<ulong> mask, Vector<ulong> left, Vector<ulong> right);
/// CreateBreakAfterMask : Break after first true condition
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<sbyte> CreateBreakAfterMask(Vector<sbyte> mask, Vector<sbyte> from);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<short> CreateBreakAfterMask(Vector<short> mask, Vector<short> from);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<int> CreateBreakAfterMask(Vector<int> mask, Vector<int> from);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<long> CreateBreakAfterMask(Vector<long> mask, Vector<long> from);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<byte> CreateBreakAfterMask(Vector<byte> mask, Vector<byte> from);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<ushort> CreateBreakAfterMask(Vector<ushort> mask, Vector<ushort> from);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<uint> CreateBreakAfterMask(Vector<uint> mask, Vector<uint> from);
/// svbool_t svbrka[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKA Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrka[_b]_z(svbool_t pg, svbool_t op) : "BRKA Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<ulong> CreateBreakAfterMask(Vector<ulong> mask, Vector<ulong> from);
/// CreateBreakAfterPropagateMask : Break after first true condition, propagating from previous partition
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<sbyte> CreateBreakAfterPropagateMask(Vector<sbyte> mask, Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<short> CreateBreakAfterPropagateMask(Vector<short> mask, Vector<short> left, Vector<short> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<int> CreateBreakAfterPropagateMask(Vector<int> mask, Vector<int> left, Vector<int> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<long> CreateBreakAfterPropagateMask(Vector<long> mask, Vector<long> left, Vector<long> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<byte> CreateBreakAfterPropagateMask(Vector<byte> mask, Vector<byte> left, Vector<byte> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<ushort> CreateBreakAfterPropagateMask(Vector<ushort> mask, Vector<ushort> left, Vector<ushort> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<uint> CreateBreakAfterPropagateMask(Vector<uint> mask, Vector<uint> left, Vector<uint> right);
/// svbool_t svbrkpa[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPA Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<ulong> CreateBreakAfterPropagateMask(Vector<ulong> mask, Vector<ulong> left, Vector<ulong> right);
/// CreateBreakBeforeMask : Break before first true condition
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<sbyte> CreateBreakBeforeMask(Vector<sbyte> mask, Vector<sbyte> from);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<short> CreateBreakBeforeMask(Vector<short> mask, Vector<short> from);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<int> CreateBreakBeforeMask(Vector<int> mask, Vector<int> from);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<long> CreateBreakBeforeMask(Vector<long> mask, Vector<long> from);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<byte> CreateBreakBeforeMask(Vector<byte> mask, Vector<byte> from);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<ushort> CreateBreakBeforeMask(Vector<ushort> mask, Vector<ushort> from);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<uint> CreateBreakBeforeMask(Vector<uint> mask, Vector<uint> from);
/// svbool_t svbrkb[_b]_m(svbool_t inactive, svbool_t pg, svbool_t op) : "BRKB Ptied.B, Pg/M, Pop.B"
/// svbool_t svbrkb[_b]_z(svbool_t pg, svbool_t op) : "BRKB Presult.B, Pg/Z, Pop.B"
public static unsafe Vector<ulong> CreateBreakBeforeMask(Vector<ulong> mask, Vector<ulong> from);
/// CreateBreakBeforePropagateMask : Break before first true condition, propagating from previous partition
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<sbyte> CreateBreakBeforePropagateMask(Vector<sbyte> mask, Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<short> CreateBreakBeforePropagateMask(Vector<short> mask, Vector<short> left, Vector<short> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<int> CreateBreakBeforePropagateMask(Vector<int> mask, Vector<int> left, Vector<int> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<long> CreateBreakBeforePropagateMask(Vector<long> mask, Vector<long> left, Vector<long> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<byte> CreateBreakBeforePropagateMask(Vector<byte> mask, Vector<byte> left, Vector<byte> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<ushort> CreateBreakBeforePropagateMask(Vector<ushort> mask, Vector<ushort> left, Vector<ushort> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<uint> CreateBreakBeforePropagateMask(Vector<uint> mask, Vector<uint> left, Vector<uint> right);
/// svbool_t svbrkpb[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKPB Presult.B, Pg/Z, Pop1.B, Pop2.B"
public static unsafe Vector<ulong> CreateBreakBeforePropagateMask(Vector<ulong> mask, Vector<ulong> left, Vector<ulong> right);
/// CreateWhileLessThanMask : While incrementing scalar is less than
/// svbool_t svwhilelt_b8[_s32](int32_t op1, int32_t op2) : "WHILELT Presult.B, Wop1, Wop2"
public static unsafe Vector<byte> CreateWhileLessThanMask(int left, int right);
/// svbool_t svwhilelt_b8[_s64](int64_t op1, int64_t op2) : "WHILELT Presult.B, Xop1, Xop2"
public static unsafe Vector<byte> CreateWhileLessThanMask(long left, long right);
/// svbool_t svwhilelt_b8[_u32](uint32_t op1, uint32_t op2) : "WHILELO Presult.B, Wop1, Wop2"
public static unsafe Vector<byte> CreateWhileLessThanMask(uint left, uint right);
/// svbool_t svwhilelt_b8[_u64](uint64_t op1, uint64_t op2) : "WHILELO Presult.B, Xop1, Xop2"
public static unsafe Vector<byte> CreateWhileLessThanMask(ulong left, ulong right);
/// svbool_t svwhilelt_b16[_s32](int32_t op1, int32_t op2) : "WHILELT Presult.H, Wop1, Wop2"
public static unsafe Vector<ushort> CreateWhileLessThanMask(int left, int right);
/// svbool_t svwhilelt_b16[_s64](int64_t op1, int64_t op2) : "WHILELT Presult.H, Xop1, Xop2"
public static unsafe Vector<ushort> CreateWhileLessThanMask(long left, long right);
/// svbool_t svwhilelt_b16[_u32](uint32_t op1, uint32_t op2) : "WHILELO Presult.H, Wop1, Wop2"
public static unsafe Vector<ushort> CreateWhileLessThanMask(uint left, uint right);
/// svbool_t svwhilelt_b16[_u64](uint64_t op1, uint64_t op2) : "WHILELO Presult.H, Xop1, Xop2"
public static unsafe Vector<ushort> CreateWhileLessThanMask(ulong left, ulong right);
/// svbool_t svwhilelt_b32[_s32](int32_t op1, int32_t op2) : "WHILELT Presult.S, Wop1, Wop2"
public static unsafe Vector<uint> CreateWhileLessThanMask(int left, int right);
/// svbool_t svwhilelt_b32[_s64](int64_t op1, int64_t op2) : "WHILELT Presult.S, Xop1, Xop2"
public static unsafe Vector<uint> CreateWhileLessThanMask(long left, long right);
/// svbool_t svwhilelt_b32[_u32](uint32_t op1, uint32_t op2) : "WHILELO Presult.S, Wop1, Wop2"
public static unsafe Vector<uint> CreateWhileLessThanMask(uint left, uint right);
/// svbool_t svwhilelt_b32[_u64](uint64_t op1, uint64_t op2) : "WHILELO Presult.S, Xop1, Xop2"
public static unsafe Vector<uint> CreateWhileLessThanMask(ulong left, ulong right);
/// svbool_t svwhilelt_b64[_s32](int32_t op1, int32_t op2) : "WHILELT Presult.D, Wop1, Wop2"
public static unsafe Vector<ulong> CreateWhileLessThanMask(int left, int right);
/// svbool_t svwhilelt_b64[_s64](int64_t op1, int64_t op2) : "WHILELT Presult.D, Xop1, Xop2"
public static unsafe Vector<ulong> CreateWhileLessThanMask(long left, long right);
/// svbool_t svwhilelt_b64[_u32](uint32_t op1, uint32_t op2) : "WHILELO Presult.D, Wop1, Wop2"
public static unsafe Vector<ulong> CreateWhileLessThanMask(uint left, uint right);
/// svbool_t svwhilelt_b64[_u64](uint64_t op1, uint64_t op2) : "WHILELO Presult.D, Xop1, Xop2"
public static unsafe Vector<ulong> CreateWhileLessThanMask(ulong left, ulong right);
/// CreateWhileLessThanOrEqualMask : While incrementing scalar is less than or equal to
/// svbool_t svwhilele_b8[_s32](int32_t op1, int32_t op2) : "WHILELE Presult.B, Wop1, Wop2"
public static unsafe Vector<byte> CreateWhileLessThanOrEqualMask(int left, int right);
/// svbool_t svwhilele_b8[_s64](int64_t op1, int64_t op2) : "WHILELE Presult.B, Xop1, Xop2"
public static unsafe Vector<byte> CreateWhileLessThanOrEqualMask(long left, long right);
/// svbool_t svwhilele_b8[_u32](uint32_t op1, uint32_t op2) : "WHILELS Presult.B, Wop1, Wop2"
public static unsafe Vector<byte> CreateWhileLessThanOrEqualMask(uint left, uint right);
/// svbool_t svwhilele_b8[_u64](uint64_t op1, uint64_t op2) : "WHILELS Presult.B, Xop1, Xop2"
public static unsafe Vector<byte> CreateWhileLessThanOrEqualMask(ulong left, ulong right);
/// svbool_t svwhilele_b16[_s32](int32_t op1, int32_t op2) : "WHILELE Presult.H, Wop1, Wop2"
public static unsafe Vector<ushort> CreateWhileLessThanOrEqualMask(int left, int right);
/// svbool_t svwhilele_b16[_s64](int64_t op1, int64_t op2) : "WHILELE Presult.H, Xop1, Xop2"
public static unsafe Vector<ushort> CreateWhileLessThanOrEqualMask(long left, long right);
/// svbool_t svwhilele_b16[_u32](uint32_t op1, uint32_t op2) : "WHILELS Presult.H, Wop1, Wop2"
public static unsafe Vector<ushort> CreateWhileLessThanOrEqualMask(uint left, uint right);
/// svbool_t svwhilele_b16[_u64](uint64_t op1, uint64_t op2) : "WHILELS Presult.H, Xop1, Xop2"
public static unsafe Vector<ushort> CreateWhileLessThanOrEqualMask(ulong left, ulong right);
/// svbool_t svwhilele_b32[_s32](int32_t op1, int32_t op2) : "WHILELE Presult.S, Wop1, Wop2"
public static unsafe Vector<uint> CreateWhileLessThanOrEqualMask(int left, int right);
/// svbool_t svwhilele_b32[_s64](int64_t op1, int64_t op2) : "WHILELE Presult.S, Xop1, Xop2"
public static unsafe Vector<uint> CreateWhileLessThanOrEqualMask(long left, long right);
/// svbool_t svwhilele_b32[_u32](uint32_t op1, uint32_t op2) : "WHILELS Presult.S, Wop1, Wop2"
public static unsafe Vector<uint> CreateWhileLessThanOrEqualMask(uint left, uint right);
/// svbool_t svwhilele_b32[_u64](uint64_t op1, uint64_t op2) : "WHILELS Presult.S, Xop1, Xop2"
public static unsafe Vector<uint> CreateWhileLessThanOrEqualMask(ulong left, ulong right);
/// svbool_t svwhilele_b64[_s32](int32_t op1, int32_t op2) : "WHILELE Presult.D, Wop1, Wop2"
public static unsafe Vector<ulong> CreateWhileLessThanOrEqualMask(int left, int right);
/// svbool_t svwhilele_b64[_s64](int64_t op1, int64_t op2) : "WHILELE Presult.D, Xop1, Xop2"
public static unsafe Vector<ulong> CreateWhileLessThanOrEqualMask(long left, long right);
/// svbool_t svwhilele_b64[_u32](uint32_t op1, uint32_t op2) : "WHILELS Presult.D, Wop1, Wop2"
public static unsafe Vector<ulong> CreateWhileLessThanOrEqualMask(uint left, uint right);
/// svbool_t svwhilele_b64[_u64](uint64_t op1, uint64_t op2) : "WHILELS Presult.D, Xop1, Xop2"
public static unsafe Vector<ulong> CreateWhileLessThanOrEqualMask(ulong left, ulong right);
/// ExtractAfterLast : Extract element after last
/// float32_t svlasta[_f32](svbool_t pg, svfloat32_t op) : "LASTA Wresult, Pg, Zop.S" or "LASTA Sresult, Pg, Zop.S"
public static unsafe float ExtractAfterLast(Vector<float> value);
/// float64_t svlasta[_f64](svbool_t pg, svfloat64_t op) : "LASTA Xresult, Pg, Zop.D" or "LASTA Dresult, Pg, Zop.D"
public static unsafe double ExtractAfterLast(Vector<double> value);
/// int8_t svlasta[_s8](svbool_t pg, svint8_t op) : "LASTA Wresult, Pg, Zop.B" or "LASTA Bresult, Pg, Zop.B"
public static unsafe sbyte ExtractAfterLast(Vector<sbyte> value);
/// int16_t svlasta[_s16](svbool_t pg, svint16_t op) : "LASTA Wresult, Pg, Zop.H" or "LASTA Hresult, Pg, Zop.H"
public static unsafe short ExtractAfterLast(Vector<short> value);
/// int32_t svlasta[_s32](svbool_t pg, svint32_t op) : "LASTA Wresult, Pg, Zop.S" or "LASTA Sresult, Pg, Zop.S"
public static unsafe int ExtractAfterLast(Vector<int> value);
/// int64_t svlasta[_s64](svbool_t pg, svint64_t op) : "LASTA Xresult, Pg, Zop.D" or "LASTA Dresult, Pg, Zop.D"
public static unsafe long ExtractAfterLast(Vector<long> value);
/// uint8_t svlasta[_u8](svbool_t pg, svuint8_t op) : "LASTA Wresult, Pg, Zop.B" or "LASTA Bresult, Pg, Zop.B"
public static unsafe byte ExtractAfterLast(Vector<byte> value);
/// uint16_t svlasta[_u16](svbool_t pg, svuint16_t op) : "LASTA Wresult, Pg, Zop.H" or "LASTA Hresult, Pg, Zop.H"
public static unsafe ushort ExtractAfterLast(Vector<ushort> value);
/// uint32_t svlasta[_u32](svbool_t pg, svuint32_t op) : "LASTA Wresult, Pg, Zop.S" or "LASTA Sresult, Pg, Zop.S"
public static unsafe uint ExtractAfterLast(Vector<uint> value);
/// uint64_t svlasta[_u64](svbool_t pg, svuint64_t op) : "LASTA Xresult, Pg, Zop.D" or "LASTA Dresult, Pg, Zop.D"
public static unsafe ulong ExtractAfterLast(Vector<ulong> value);
/// ExtractLast : Extract last element
/// float32_t svlastb[_f32](svbool_t pg, svfloat32_t op) : "LASTB Wresult, Pg, Zop.S" or "LASTB Sresult, Pg, Zop.S"
public static unsafe float ExtractLast(Vector<float> value);
/// float64_t svlastb[_f64](svbool_t pg, svfloat64_t op) : "LASTB Xresult, Pg, Zop.D" or "LASTB Dresult, Pg, Zop.D"
public static unsafe double ExtractLast(Vector<double> value);
/// int8_t svlastb[_s8](svbool_t pg, svint8_t op) : "LASTB Wresult, Pg, Zop.B" or "LASTB Bresult, Pg, Zop.B"
public static unsafe sbyte ExtractLast(Vector<sbyte> value);
/// int16_t svlastb[_s16](svbool_t pg, svint16_t op) : "LASTB Wresult, Pg, Zop.H" or "LASTB Hresult, Pg, Zop.H"
public static unsafe short ExtractLast(Vector<short> value);
/// int32_t svlastb[_s32](svbool_t pg, svint32_t op) : "LASTB Wresult, Pg, Zop.S" or "LASTB Sresult, Pg, Zop.S"
public static unsafe int ExtractLast(Vector<int> value);
/// int64_t svlastb[_s64](svbool_t pg, svint64_t op) : "LASTB Xresult, Pg, Zop.D" or "LASTB Dresult, Pg, Zop.D"
public static unsafe long ExtractLast(Vector<long> value);
/// uint8_t svlastb[_u8](svbool_t pg, svuint8_t op) : "LASTB Wresult, Pg, Zop.B" or "LASTB Bresult, Pg, Zop.B"
public static unsafe byte ExtractLast(Vector<byte> value);
/// uint16_t svlastb[_u16](svbool_t pg, svuint16_t op) : "LASTB Wresult, Pg, Zop.H" or "LASTB Hresult, Pg, Zop.H"
public static unsafe ushort ExtractLast(Vector<ushort> value);
/// uint32_t svlastb[_u32](svbool_t pg, svuint32_t op) : "LASTB Wresult, Pg, Zop.S" or "LASTB Sresult, Pg, Zop.S"
public static unsafe uint ExtractLast(Vector<uint> value);
/// uint64_t svlastb[_u64](svbool_t pg, svuint64_t op) : "LASTB Xresult, Pg, Zop.D" or "LASTB Dresult, Pg, Zop.D"
public static unsafe ulong ExtractLast(Vector<ulong> value);
/// ExtractVector : Extract vector from pair of vectors
/// svfloat32_t svext[_f32](svfloat32_t op1, svfloat32_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4"
public static unsafe Vector<float> ExtractVector(Vector<float> upper, Vector<float> lower, ulong index);
/// svfloat64_t svext[_f64](svfloat64_t op1, svfloat64_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8"
public static unsafe Vector<double> ExtractVector(Vector<double> upper, Vector<double> lower, ulong index);
/// svint8_t svext[_s8](svint8_t op1, svint8_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3"
public static unsafe Vector<sbyte> ExtractVector(Vector<sbyte> upper, Vector<sbyte> lower, ulong index);
/// svint16_t svext[_s16](svint16_t op1, svint16_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2"
public static unsafe Vector<short> ExtractVector(Vector<short> upper, Vector<short> lower, ulong index);
/// svint32_t svext[_s32](svint32_t op1, svint32_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4"
public static unsafe Vector<int> ExtractVector(Vector<int> upper, Vector<int> lower, ulong index);
/// svint64_t svext[_s64](svint64_t op1, svint64_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8"
public static unsafe Vector<long> ExtractVector(Vector<long> upper, Vector<long> lower, ulong index);
/// svuint8_t svext[_u8](svuint8_t op1, svuint8_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3"
public static unsafe Vector<byte> ExtractVector(Vector<byte> upper, Vector<byte> lower, ulong index);
/// svuint16_t svext[_u16](svuint16_t op1, svuint16_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 2" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 2"
public static unsafe Vector<ushort> ExtractVector(Vector<ushort> upper, Vector<ushort> lower, ulong index);
/// svuint32_t svext[_u32](svuint32_t op1, svuint32_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 4" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 4"
public static unsafe Vector<uint> ExtractVector(Vector<uint> upper, Vector<uint> lower, ulong index);
/// svuint64_t svext[_u64](svuint64_t op1, svuint64_t op2, uint64_t imm3) : "EXT Ztied1.B, Ztied1.B, Zop2.B, #imm3 * 8" or "MOVPRFX Zresult, Zop1; EXT Zresult.B, Zresult.B, Zop2.B, #imm3 * 8"
public static unsafe Vector<ulong> ExtractVector(Vector<ulong> upper, Vector<ulong> lower, ulong index);
/// FalseMask : Set all predicate elements to false
/// svbool_t svpfalse[_b]() : "PFALSE Presult.B"
public static unsafe Vector<byte> FalseMask();
/// MaskGetFirstSet : Find next active predicate
/// svbool_t svpnext_b8(svbool_t pg, svbool_t op) : "PNEXT Ptied.B, Pg, Ptied.B"
public static unsafe Vector<byte> MaskGetFirstSet(Vector<byte> mask, Vector<byte> from);
/// svbool_t svpnext_b16(svbool_t pg, svbool_t op) : "PNEXT Ptied.H, Pg, Ptied.H"
public static unsafe Vector<ushort> MaskGetFirstSet(Vector<ushort> mask, Vector<ushort> from);
/// svbool_t svpnext_b32(svbool_t pg, svbool_t op) : "PNEXT Ptied.S, Pg, Ptied.S"
public static unsafe Vector<uint> MaskGetFirstSet(Vector<uint> mask, Vector<uint> from);
/// svbool_t svpnext_b64(svbool_t pg, svbool_t op) : "PNEXT Ptied.D, Pg, Ptied.D"
public static unsafe Vector<ulong> MaskGetFirstSet(Vector<ulong> mask, Vector<ulong> from);
/// MaskSetFirst : Set the first active predicate element to true
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<sbyte> MaskSetFirst(Vector<sbyte> mask, Vector<sbyte> from);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<short> MaskSetFirst(Vector<short> mask, Vector<short> from);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<int> MaskSetFirst(Vector<int> mask, Vector<int> from);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<long> MaskSetFirst(Vector<long> mask, Vector<long> from);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<byte> MaskSetFirst(Vector<byte> mask, Vector<byte> from);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<ushort> MaskSetFirst(Vector<ushort> mask, Vector<ushort> from);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<uint> MaskSetFirst(Vector<uint> mask, Vector<uint> from);
/// svbool_t svpfirst[_b](svbool_t pg, svbool_t op) : "PFIRST Ptied.B, Pg, Ptied.B"
public static unsafe Vector<ulong> MaskSetFirst(Vector<ulong> mask, Vector<ulong> from);
/// MaskTestAnyTrue : Test whether any active element is true
/// bool svptest_any(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestAnyTrue(Vector<sbyte> mask, Vector<sbyte> from);
/// bool svptest_any(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestAnyTrue(Vector<short> mask, Vector<short> from);
/// bool svptest_any(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestAnyTrue(Vector<int> mask, Vector<int> from);
/// bool svptest_any(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestAnyTrue(Vector<long> mask, Vector<long> from);
/// bool svptest_any(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestAnyTrue(Vector<byte> mask, Vector<byte> from);
/// bool svptest_any(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestAnyTrue(Vector<ushort> mask, Vector<ushort> from);
/// bool svptest_any(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestAnyTrue(Vector<uint> mask, Vector<uint> from);
/// bool svptest_any(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestAnyTrue(Vector<ulong> mask, Vector<ulong> from);
/// MaskTestFirstTrue : Test whether the first active element is true
/// bool svptest_first(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestFirstTrue(Vector<sbyte> mask, Vector<sbyte> from);
/// bool svptest_first(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestFirstTrue(Vector<short> mask, Vector<short> from);
/// bool svptest_first(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestFirstTrue(Vector<int> mask, Vector<int> from);
/// bool svptest_first(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestFirstTrue(Vector<long> mask, Vector<long> from);
/// bool svptest_first(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestFirstTrue(Vector<byte> mask, Vector<byte> from);
/// bool svptest_first(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestFirstTrue(Vector<ushort> mask, Vector<ushort> from);
/// bool svptest_first(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestFirstTrue(Vector<uint> mask, Vector<uint> from);
/// bool svptest_first(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestFirstTrue(Vector<ulong> mask, Vector<ulong> from);
/// MaskTestLastTrue : Test whether the last active element is true
/// bool svptest_last(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestLastTrue(Vector<sbyte> mask, Vector<sbyte> from);
/// bool svptest_last(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestLastTrue(Vector<short> mask, Vector<short> from);
/// bool svptest_last(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestLastTrue(Vector<int> mask, Vector<int> from);
/// bool svptest_last(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestLastTrue(Vector<long> mask, Vector<long> from);
/// bool svptest_last(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestLastTrue(Vector<byte> mask, Vector<byte> from);
/// bool svptest_last(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestLastTrue(Vector<ushort> mask, Vector<ushort> from);
/// bool svptest_last(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestLastTrue(Vector<uint> mask, Vector<uint> from);
/// bool svptest_last(svbool_t pg, svbool_t op) : PTEST
public static unsafe bool MaskTestLastTrue(Vector<ulong> mask, Vector<ulong> from);
/// PropagateBreak : Propagate break to next partition
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<sbyte> PropagateBreak(Vector<sbyte> left, Vector<sbyte> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<short> PropagateBreak(Vector<short> left, Vector<short> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<int> PropagateBreak(Vector<int> left, Vector<int> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<long> PropagateBreak(Vector<long> left, Vector<long> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<byte> PropagateBreak(Vector<byte> left, Vector<byte> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<ushort> PropagateBreak(Vector<ushort> left, Vector<ushort> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<uint> PropagateBreak(Vector<uint> left, Vector<uint> right);
/// svbool_t svbrkn[_b]_z(svbool_t pg, svbool_t op1, svbool_t op2) : "BRKN Ptied2.B, Pg/Z, Pop1.B, Ptied2.B"
public static unsafe Vector<ulong> PropagateBreak(Vector<ulong> left, Vector<ulong> right);
/// TrueMask : Set predicate elements to true
/// svbool_t svptrue_b8() : "PTRUE Presult.B, ALL"
/// svbool_t svptrue_b16() : "PTRUE Presult.H, ALL"
/// svbool_t svptrue_b32() : "PTRUE Presult.S, ALL"
/// svbool_t svptrue_b64() : "PTRUE Presult.D, ALL"
public static unsafe Vector<byte> TrueMask();
/// svbool_t svptrue_pat_b8(enum svpattern pattern) : "PTRUE Presult.B, pattern"
/// svbool_t svptrue_pat_b16(enum svpattern pattern) : "PTRUE Presult.H, pattern"
/// svbool_t svptrue_pat_b32(enum svpattern pattern) : "PTRUE Presult.S, pattern"
/// svbool_t svptrue_pat_b64(enum svpattern pattern) : "PTRUE Presult.D, pattern"
public static unsafe Vector<byte> TrueMask([ConstantExpected] SveMaskPattern pattern = SveMaskPattern.All);
/// total method signatures: 277
/// total method names: 32
} |
/// Optional Entries:
/// public static unsafe Vector<float> AbsoluteCompareGreaterThan(Vector<float> left, float right); // svacgt[_n_f32]
/// public static unsafe Vector<double> AbsoluteCompareGreaterThan(Vector<double> left, double right); // svacgt[_n_f64]
/// public static unsafe Vector<float> AbsoluteCompareGreaterThanOrEqual(Vector<float> left, float right); // svacge[_n_f32]
/// public static unsafe Vector<double> AbsoluteCompareGreaterThanOrEqual(Vector<double> left, double right); // svacge[_n_f64]
/// public static unsafe Vector<float> AbsoluteCompareLessThan(Vector<float> left, float right); // svaclt[_n_f32]
/// public static unsafe Vector<double> AbsoluteCompareLessThan(Vector<double> left, double right); // svaclt[_n_f64]
/// public static unsafe Vector<float> AbsoluteCompareLessThanOrEqual(Vector<float> left, float right); // svacle[_n_f32]
/// public static unsafe Vector<double> AbsoluteCompareLessThanOrEqual(Vector<double> left, double right); // svacle[_n_f64]
/// public static unsafe Vector<float> CompareEqual(Vector<float> left, float right); // svcmpeq[_n_f32]
/// public static unsafe Vector<double> CompareEqual(Vector<double> left, double right); // svcmpeq[_n_f64]
/// public static unsafe Vector<sbyte> CompareEqual(Vector<sbyte> left, sbyte right); // svcmpeq[_n_s8]
/// public static unsafe Vector<short> CompareEqual(Vector<short> left, short right); // svcmpeq[_n_s16]
/// public static unsafe Vector<int> CompareEqual(Vector<int> left, int right); // svcmpeq[_n_s32]
/// public static unsafe Vector<long> CompareEqual(Vector<long> left, long right); // svcmpeq[_n_s64]
/// public static unsafe Vector<byte> CompareEqual(Vector<byte> left, byte right); // svcmpeq[_n_u8]
/// public static unsafe Vector<ushort> CompareEqual(Vector<ushort> left, ushort right); // svcmpeq[_n_u16]
/// public static unsafe Vector<uint> CompareEqual(Vector<uint> left, uint right); // svcmpeq[_n_u32]
/// public static unsafe Vector<ulong> CompareEqual(Vector<ulong> left, ulong right); // svcmpeq[_n_u64]
/// public static unsafe Vector<sbyte> CompareEqual(Vector<sbyte> left, long right); // svcmpeq_wide[_n_s8]
/// public static unsafe Vector<short> CompareEqual(Vector<short> left, long right); // svcmpeq_wide[_n_s16]
/// public static unsafe Vector<int> CompareEqual(Vector<int> left, long right); // svcmpeq_wide[_n_s32]
/// public static unsafe Vector<float> CompareGreaterThan(Vector<float> left, float right); // svcmpgt[_n_f32]
/// public static unsafe Vector<double> CompareGreaterThan(Vector<double> left, double right); // svcmpgt[_n_f64]
/// public static unsafe Vector<sbyte> CompareGreaterThan(Vector<sbyte> left, sbyte right); // svcmpgt[_n_s8]
/// public static unsafe Vector<short> CompareGreaterThan(Vector<short> left, short right); // svcmpgt[_n_s16]
/// public static unsafe Vector<int> CompareGreaterThan(Vector<int> left, int right); // svcmpgt[_n_s32]
/// public static unsafe Vector<long> CompareGreaterThan(Vector<long> left, long right); // svcmpgt[_n_s64]
/// public static unsafe Vector<byte> CompareGreaterThan(Vector<byte> left, byte right); // svcmpgt[_n_u8]
/// public static unsafe Vector<ushort> CompareGreaterThan(Vector<ushort> left, ushort right); // svcmpgt[_n_u16]
/// public static unsafe Vector<uint> CompareGreaterThan(Vector<uint> left, uint right); // svcmpgt[_n_u32]
/// public static unsafe Vector<ulong> CompareGreaterThan(Vector<ulong> left, ulong right); // svcmpgt[_n_u64]
/// public static unsafe Vector<sbyte> CompareGreaterThan(Vector<sbyte> left, long right); // svcmpgt_wide[_n_s8]
/// public static unsafe Vector<short> CompareGreaterThan(Vector<short> left, long right); // svcmpgt_wide[_n_s16]
/// public static unsafe Vector<int> CompareGreaterThan(Vector<int> left, long right); // svcmpgt_wide[_n_s32]
/// public static unsafe Vector<byte> CompareGreaterThan(Vector<byte> left, ulong right); // svcmpgt_wide[_n_u8]
/// public static unsafe Vector<ushort> CompareGreaterThan(Vector<ushort> left, ulong right); // svcmpgt_wide[_n_u16]
/// public static unsafe Vector<uint> CompareGreaterThan(Vector<uint> left, ulong right); // svcmpgt_wide[_n_u32]
/// public static unsafe Vector<float> CompareGreaterThanOrEqual(Vector<float> left, float right); // svcmpge[_n_f32]
/// public static unsafe Vector<double> CompareGreaterThanOrEqual(Vector<double> left, double right); // svcmpge[_n_f64]
/// public static unsafe Vector<sbyte> CompareGreaterThanOrEqual(Vector<sbyte> left, sbyte right); // svcmpge[_n_s8]
/// public static unsafe Vector<short> CompareGreaterThanOrEqual(Vector<short> left, short right); // svcmpge[_n_s16]
/// public static unsafe Vector<int> CompareGreaterThanOrEqual(Vector<int> left, int right); // svcmpge[_n_s32]
/// public static unsafe Vector<long> CompareGreaterThanOrEqual(Vector<long> left, long right); // svcmpge[_n_s64]
/// public static unsafe Vector<byte> CompareGreaterThanOrEqual(Vector<byte> left, byte right); // svcmpge[_n_u8]
/// public static unsafe Vector<ushort> CompareGreaterThanOrEqual(Vector<ushort> left, ushort right); // svcmpge[_n_u16]
/// public static unsafe Vector<uint> CompareGreaterThanOrEqual(Vector<uint> left, uint right); // svcmpge[_n_u32]
/// public static unsafe Vector<ulong> CompareGreaterThanOrEqual(Vector<ulong> left, ulong right); // svcmpge[_n_u64]
/// public static unsafe Vector<sbyte> CompareGreaterThanOrEqual(Vector<sbyte> left, long right); // svcmpge_wide[_n_s8]
/// public static unsafe Vector<short> CompareGreaterThanOrEqual(Vector<short> left, long right); // svcmpge_wide[_n_s16]
/// public static unsafe Vector<int> CompareGreaterThanOrEqual(Vector<int> left, long right); // svcmpge_wide[_n_s32]
/// public static unsafe Vector<byte> CompareGreaterThanOrEqual(Vector<byte> left, ulong right); // svcmpge_wide[_n_u8]
/// public static unsafe Vector<ushort> CompareGreaterThanOrEqual(Vector<ushort> left, ulong right); // svcmpge_wide[_n_u16]
/// public static unsafe Vector<uint> CompareGreaterThanOrEqual(Vector<uint> left, ulong right); // svcmpge_wide[_n_u32]
/// public static unsafe Vector<float> CompareLessThan(Vector<float> left, float right); // svcmplt[_n_f32]
/// public static unsafe Vector<double> CompareLessThan(Vector<double> left, double right); // svcmplt[_n_f64]
/// public static unsafe Vector<sbyte> CompareLessThan(Vector<sbyte> left, sbyte right); // svcmplt[_n_s8]
/// public static unsafe Vector<short> CompareLessThan(Vector<short> left, short right); // svcmplt[_n_s16]
/// public static unsafe Vector<int> CompareLessThan(Vector<int> left, int right); // svcmplt[_n_s32]
/// public static unsafe Vector<long> CompareLessThan(Vector<long> left, long right); // svcmplt[_n_s64]
/// public static unsafe Vector<byte> CompareLessThan(Vector<byte> left, byte right); // svcmplt[_n_u8]
/// public static unsafe Vector<ushort> CompareLessThan(Vector<ushort> left, ushort right); // svcmplt[_n_u16]
/// public static unsafe Vector<uint> CompareLessThan(Vector<uint> left, uint right); // svcmplt[_n_u32]
/// public static unsafe Vector<ulong> CompareLessThan(Vector<ulong> left, ulong right); // svcmplt[_n_u64]
/// public static unsafe Vector<sbyte> CompareLessThan(Vector<sbyte> left, long right); // svcmplt_wide[_n_s8]
/// public static unsafe Vector<short> CompareLessThan(Vector<short> left, long right); // svcmplt_wide[_n_s16]
/// public static unsafe Vector<int> CompareLessThan(Vector<int> left, long right); // svcmplt_wide[_n_s32]
/// public static unsafe Vector<byte> CompareLessThan(Vector<byte> left, ulong right); // svcmplt_wide[_n_u8]
/// public static unsafe Vector<ushort> CompareLessThan(Vector<ushort> left, ulong right); // svcmplt_wide[_n_u16]
/// public static unsafe Vector<uint> CompareLessThan(Vector<uint> left, ulong right); // svcmplt_wide[_n_u32]
/// public static unsafe Vector<float> CompareLessThanOrEqual(Vector<float> left, float right); // svcmple[_n_f32]
/// public static unsafe Vector<double> CompareLessThanOrEqual(Vector<double> left, double right); // svcmple[_n_f64]
/// public static unsafe Vector<sbyte> CompareLessThanOrEqual(Vector<sbyte> left, sbyte right); // svcmple[_n_s8]
/// public static unsafe Vector<short> CompareLessThanOrEqual(Vector<short> left, short right); // svcmple[_n_s16]
/// public static unsafe Vector<int> CompareLessThanOrEqual(Vector<int> left, int right); // svcmple[_n_s32]
/// public static unsafe Vector<long> CompareLessThanOrEqual(Vector<long> left, long right); // svcmple[_n_s64]
/// public static unsafe Vector<byte> CompareLessThanOrEqual(Vector<byte> left, byte right); // svcmple[_n_u8]
/// public static unsafe Vector<ushort> CompareLessThanOrEqual(Vector<ushort> left, ushort right); // svcmple[_n_u16]
/// public static unsafe Vector<uint> CompareLessThanOrEqual(Vector<uint> left, uint right); // svcmple[_n_u32]
/// public static unsafe Vector<ulong> CompareLessThanOrEqual(Vector<ulong> left, ulong right); // svcmple[_n_u64]
/// public static unsafe Vector<sbyte> CompareLessThanOrEqual(Vector<sbyte> left, long right); // svcmple_wide[_n_s8]
/// public static unsafe Vector<short> CompareLessThanOrEqual(Vector<short> left, long right); // svcmple_wide[_n_s16]
/// public static unsafe Vector<int> CompareLessThanOrEqual(Vector<int> left, long right); // svcmple_wide[_n_s32]
/// public static unsafe Vector<byte> CompareLessThanOrEqual(Vector<byte> left, ulong right); // svcmple_wide[_n_u8]
/// public static unsafe Vector<ushort> CompareLessThanOrEqual(Vector<ushort> left, ulong right); // svcmple_wide[_n_u16]
/// public static unsafe Vector<uint> CompareLessThanOrEqual(Vector<uint> left, ulong right); // svcmple_wide[_n_u32]
/// public static unsafe Vector<float> CompareNotEqualTo(Vector<float> left, float right); // svcmpne[_n_f32]
/// public static unsafe Vector<double> CompareNotEqualTo(Vector<double> left, double right); // svcmpne[_n_f64]
/// public static unsafe Vector<sbyte> CompareNotEqualTo(Vector<sbyte> left, sbyte right); // svcmpne[_n_s8]
/// public static unsafe Vector<short> CompareNotEqualTo(Vector<short> left, short right); // svcmpne[_n_s16]
/// public static unsafe Vector<int> CompareNotEqualTo(Vector<int> left, int right); // svcmpne[_n_s32]
/// public static unsafe Vector<long> CompareNotEqualTo(Vector<long> left, long right); // svcmpne[_n_s64]
/// public static unsafe Vector<byte> CompareNotEqualTo(Vector<byte> left, byte right); // svcmpne[_n_u8]
/// public static unsafe Vector<ushort> CompareNotEqualTo(Vector<ushort> left, ushort right); // svcmpne[_n_u16]
/// public static unsafe Vector<uint> CompareNotEqualTo(Vector<uint> left, uint right); // svcmpne[_n_u32]
/// public static unsafe Vector<ulong> CompareNotEqualTo(Vector<ulong> left, ulong right); // svcmpne[_n_u64]
/// public static unsafe Vector<sbyte> CompareNotEqualTo(Vector<sbyte> left, long right); // svcmpne_wide[_n_s8]
/// public static unsafe Vector<short> CompareNotEqualTo(Vector<short> left, long right); // svcmpne_wide[_n_s16]
/// public static unsafe Vector<int> CompareNotEqualTo(Vector<int> left, long right); // svcmpne_wide[_n_s32]
/// public static unsafe Vector<float> CompareUnordered(Vector<float> left, float right); // svcmpuo[_n_f32]
/// public static unsafe Vector<double> CompareUnordered(Vector<double> left, double right); // svcmpuo[_n_f64]
/// public static unsafe float ConditionalExtractAfterLastActiveElement(Vector<float> mask, float fallback, Vector<float> data); // svclasta[_n_f32]
/// public static unsafe double ConditionalExtractAfterLastActiveElement(Vector<double> mask, double fallback, Vector<double> data); // svclasta[_n_f64]
/// public static unsafe sbyte ConditionalExtractAfterLastActiveElement(Vector<sbyte> mask, sbyte fallback, Vector<sbyte> data); // svclasta[_n_s8]
/// public static unsafe short ConditionalExtractAfterLastActiveElement(Vector<short> mask, short fallback, Vector<short> data); // svclasta[_n_s16]
/// public static unsafe int ConditionalExtractAfterLastActiveElement(Vector<int> mask, int fallback, Vector<int> data); // svclasta[_n_s32]
/// public static unsafe long ConditionalExtractAfterLastActiveElement(Vector<long> mask, long fallback, Vector<long> data); // svclasta[_n_s64]
/// public static unsafe byte ConditionalExtractAfterLastActiveElement(Vector<byte> mask, byte fallback, Vector<byte> data); // svclasta[_n_u8]
/// public static unsafe ushort ConditionalExtractAfterLastActiveElement(Vector<ushort> mask, ushort fallback, Vector<ushort> data); // svclasta[_n_u16]
/// public static unsafe uint ConditionalExtractAfterLastActiveElement(Vector<uint> mask, uint fallback, Vector<uint> data); // svclasta[_n_u32]
/// public static unsafe ulong ConditionalExtractAfterLastActiveElement(Vector<ulong> mask, ulong fallback, Vector<ulong> data); // svclasta[_n_u64]
/// public static unsafe float ConditionalExtractLastActiveElement(Vector<float> mask, float fallback, Vector<float> data); // svclastb[_n_f32]
/// public static unsafe double ConditionalExtractLastActiveElement(Vector<double> mask, double fallback, Vector<double> data); // svclastb[_n_f64]
/// public static unsafe sbyte ConditionalExtractLastActiveElement(Vector<sbyte> mask, sbyte fallback, Vector<sbyte> data); // svclastb[_n_s8]
/// public static unsafe short ConditionalExtractLastActiveElement(Vector<short> mask, short fallback, Vector<short> data); // svclastb[_n_s16]
/// public static unsafe int ConditionalExtractLastActiveElement(Vector<int> mask, int fallback, Vector<int> data); // svclastb[_n_s32]
/// public static unsafe long ConditionalExtractLastActiveElement(Vector<long> mask, long fallback, Vector<long> data); // svclastb[_n_s64]
/// public static unsafe byte ConditionalExtractLastActiveElement(Vector<byte> mask, byte fallback, Vector<byte> data); // svclastb[_n_u8]
/// public static unsafe ushort ConditionalExtractLastActiveElement(Vector<ushort> mask, ushort fallback, Vector<ushort> data); // svclastb[_n_u16]
/// public static unsafe uint ConditionalExtractLastActiveElement(Vector<uint> mask, uint fallback, Vector<uint> data); // svclastb[_n_u32]
/// public static unsafe ulong ConditionalExtractLastActiveElement(Vector<ulong> mask, ulong fallback, Vector<ulong> data); // svclastb[_n_u64]
/// Total Maybe: 120
/// Total ACLE covered across API: 427 |
This contributes to #93095 It covers instructions in FEAT_SVE related to masks. This list was auto generated from the C ACLE for SVE, and is in three parts:
Where possible, existing C# naming conventions have been matched. Many of the C functions include predicate argument(s), of type svbool_t as the first argument. These are missing from the C# method. It is expected that the Jit will create predicates where required, or combine with uses of conditionalSelect(). For more discussion see #88140 comment. |
For For
|
This issue has been marked |
I assume |
For For example, matching the Arm instruction: public static unsafe Vector<T> MaskSetFirst(Vector<T> mask, Vector<T> select); // PFIRST // predicated This returns a mask that is a copy of If public static unsafe Vector<T> MaskSetFirst(Vector<T> select); // PFIRST // predicated This returns a mask that is a copy of If the user now writes:
It's now ambiguous if this gives:
Maybe for any method which takes in a mask as input in addition to the predicate mask, then the predicate mask should not be made implicit. This stops ambiguity. |
Sounds good to me. It's expected there is a subset of APIs where the mask needs to be explicit for the API to work and make sense. The goal isn't to strictly remove all explicit masking, just to remove it where it can be trivially achieved via |
Add some examples. Still need an example for
public static unsafe Vector<T> CreateBreakAfterMask(Vector<T> mask, Vector<T> select); // BRKA
public static unsafe Vector<T> CreateBreakAfterMaskMerging(Vector<T> mask, Vector<T> select, Vector<T> merge); // BRKA
Spotted |
Where the second argument is also a mask, I've called that select. That might be a bad idea as it's being highlighted differently: public static unsafe Vector<T> CreateBreakAfterMask(Vector<T> mask, Vector<T> select); // BRKA // predicated Wanted a generic term to indicate a mask that isn't the active selection mask in arg1. |
|
namespace System.Runtime.Intrinsics.Arm;
/// VectorT Summary
public abstract partial class Sve : AdvSimd /// Feature: FEAT_SVE Category: mask
{
/// T: float, double
public static unsafe Vector<T> AbsoluteCompareGreaterThan(Vector<T> left, Vector<T> right); // FACGT // predicated
/// T: float, double
public static unsafe Vector<T> AbsoluteCompareGreaterThanOrEqual(Vector<T> left, Vector<T> right); // FACGE // predicated
/// T: float, double
public static unsafe Vector<T> AbsoluteCompareLessThan(Vector<T> left, Vector<T> right); // FACGT // predicated
/// T: float, double
public static unsafe Vector<T> AbsoluteCompareLessThanOrEqual(Vector<T> left, Vector<T> right); // FACGE // predicated
/// T: float, double, int, long, uint, ulong
public static unsafe Vector<T> Compact(Vector<T> mask, Vector<T> value); // COMPACT
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareEqual(Vector<T> left, Vector<T> right); // FCMEQ or CMPEQ // predicated
/// T: [sbyte, long], [short, long], [int, long]
public static unsafe Vector<T> CompareEqual(Vector<T> left, Vector<T2> right); // CMPEQ // predicated
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareGreaterThan(Vector<T> left, Vector<T> right); // FCMGT or CMPGT or CMPHI // predicated
/// T: [sbyte, long], [short, long], [int, long], [byte, ulong], [ushort, ulong], [uint, ulong]
public static unsafe Vector<T> CompareGreaterThan(Vector<T> left, Vector<T2> right); // CMPGT or CMPHI // predicated
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareGreaterThanOrEqual(Vector<T> left, Vector<T> right); // FCMGE or CMPGE or CMPHS // predicated
/// T: [sbyte, long], [short, long], [int, long], [byte, ulong], [ushort, ulong], [uint, ulong]
public static unsafe Vector<T> CompareGreaterThanOrEqual(Vector<T> left, Vector<T2> right); // CMPGE or CMPHS // predicated
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareLessThan(Vector<T> left, Vector<T> right); // FCMGT or CMPGT or CMPHI // predicated
/// T: [sbyte, long], [short, long], [int, long], [byte, ulong], [ushort, ulong], [uint, ulong]
public static unsafe Vector<T> CompareLessThan(Vector<T> left, Vector<T2> right); // CMPLT or CMPLO // predicated
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareLessThanOrEqual(Vector<T> left, Vector<T> right); // FCMGE or CMPGE or CMPHS // predicated
/// T: [sbyte, long], [short, long], [int, long], [byte, ulong], [ushort, ulong], [uint, ulong]
public static unsafe Vector<T> CompareLessThanOrEqual(Vector<T> left, Vector<T2> right); // CMPLE or CMPLS // predicated
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> CompareNotEqualTo(Vector<T> left, Vector<T> right); // FCMNE or CMPNE // predicated
/// T: [sbyte, long], [short, long], [int, long]
public static unsafe Vector<T> CompareNotEqualTo(Vector<T> left, Vector<T2> right); // CMPNE // predicated
/// T: float, double
public static unsafe Vector<T> CompareUnordered(Vector<T> left, Vector<T> right); // FCMUO // predicated
/// 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
} |
Note: Items from this API that were not reviewed/approved are covered in #98184 |
For all methods where the first argument is a vector
mask
, this is used used to determine the active elements in the input.TrueMask
Set elements of the destination predicate to true if the element number satisfies the constraint
pattern
, or to false otherwise. If the constraint specifies more elements than are available at the current vector length then all elements of the destination predicate are set to false.Returns a byte mask. This can safely be cast to a mask of any Vector type.
Compact
Shuffle active elements of vector to the right and fill with zero
Read the active elements from the source vector and pack them into the lowest-numbered elements of the destination vector. Then set any remaining elements of the destination vector to zero.
CreateWhileLessThanMask
While incrementing signed scalar less than scalar
Generate a mask that starting from the lowest numbered element is true while the incrementing value of the scalar operand
left
is less than the scalarright
operand and false thereafter up to the highest numbered element.This is used to create a mask for the current iteration of a loop, where the final iteration may not fill a full vector width. For example:
CreateWhileLessThanOrEqualMask
While incrementing signed scalar less than scalar. Similar to
CreateWhileLessThanMask
.MaskSetFirst
Set the first active mask element to true
Returns a copy of the mask
from
, with the first active element set to true.MaskGetFirstSet
Find next active predicate
Used to construct a loop which iterates over all true elements in
mask
.If all elements in the mask
from
are false it finds the first true element inmask
. Otherwise it finds the next true element inmask
that follows the last true element infrom
. Returns a mask with the found element true and all other elements false.TODO: add example.
CreateBreakAfterMask
Break after first true condition
Returns a mask containing true up to and including the first active element in
from
that is also true. All subsequent elements are set to false. Inactive elements in the destination predicate register remain unmodified or are set to zero, depending on whether merging or zeroing predication is selectedCreateBreakAfterPropagateMask, CreateBreakBeforePropagateMask
ExtractAfterLast, ConditionalExtractAfterLastActiveElement
The text was updated successfully, but these errors were encountered: