Closed
Description
namespace System.Runtime.Intrinsics.Arm;
/// VectorT Summary
public abstract partial class Sve : AdvSimd /// Feature: FEAT_SVE Category: maths
{
/// T: float, double, sbyte, short, int, long
public static unsafe Vector<T> Abs(Vector<T> value); // FABS or ABS // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> AbsoluteDifference(Vector<T> left, Vector<T> right); // FABD or SABD or UABD // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Add(Vector<T> left, Vector<T> right); // FADD or ADD // predicated, MOVPRFX
/// T: float, double, long, ulong
public static unsafe Vector<T> AddAcross(Vector<T> value); // FADDV or UADDV // predicated
/// T: [long, sbyte], [long, short], [long, int], [ulong, byte], [ulong, ushort], [ulong, uint]
public static unsafe Vector<T> AddAcross(Vector<T2> value); // SADDV or UADDV // predicated
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> AddSaturate(Vector<T> left, Vector<T> right); // SQADD or UQADD
/// T: float, double, int, long, uint, ulong
public static unsafe Vector<T> Divide(Vector<T> left, Vector<T> right); // FDIV or SDIV or UDIV or FDIVR or SDIVR or UDIVR // predicated, MOVPRFX
/// T: [int, sbyte], [long, short], [uint, byte], [ulong, ushort]
public static unsafe Vector<T> DotProduct(Vector<T> op1, Vector<T2> op2, Vector<T2> op3); // SDOT or UDOT // MOVPRFX
/// T: [int, sbyte], [long, short], [uint, byte], [ulong, ushort]
public static unsafe Vector<T> DotProduct(Vector<T> op1, Vector<T2> op2, Vector<T2> op3, ulong imm_index); // SDOT or UDOT // MOVPRFX
/// T: float, double
public static unsafe Vector<T> FusedMultiplyAdd(Vector<T> addend, Vector<T> left, Vector<T> right); // FMLA or FMAD // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> FusedMultiplyAdd(Vector<T> addend, Vector<T> left, Vector<T> right, ulong imm_index); // FMLA // MOVPRFX
/// T: float, double
public static unsafe Vector<T> FusedMultiplyAddNegate(Vector<T> op1, Vector<T> op2, Vector<T> op3); // FNMLA or FNMAD // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> FusedMultiplySubtract(Vector<T> minuend, Vector<T> left, Vector<T> right); // FMLS or FMSB // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> FusedMultiplySubtract(Vector<T> minuend, Vector<T> left, Vector<T> right, ulong imm_index); // FMLS // MOVPRFX
/// T: float, double
public static unsafe Vector<T> FusedMultiplySubtractNegate(Vector<T> op1, Vector<T> op2, Vector<T> op3); // FNMLS or FNMSB // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Max(Vector<T> left, Vector<T> right); // FMAX or SMAX or UMAX // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MaxAcross(Vector<T> value); // FMAXV or SMAXV or UMAXV // predicated
/// T: float, double
public static unsafe Vector<T> MaxNumber(Vector<T> left, Vector<T> right); // FMAXNM // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> MaxNumberAcross(Vector<T> value); // FMAXNMV // predicated
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Min(Vector<T> left, Vector<T> right); // FMIN or SMIN or UMIN // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MinAcross(Vector<T> value); // FMINV or SMINV or UMINV // predicated
/// T: float, double
public static unsafe Vector<T> MinNumber(Vector<T> left, Vector<T> right); // FMINNM // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> MinNumberAcross(Vector<T> value); // FMINNMV // predicated
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Multiply(Vector<T> left, Vector<T> right); // FMUL or MUL // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> Multiply(Vector<T> left, Vector<T> right, ulong index); // FMUL
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MultiplyAdd(Vector<T> addend, Vector<T> left, Vector<T> right); // MLA or MAD // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> MultiplyExtended(Vector<T> left, Vector<T> right); // FMULX // predicated, MOVPRFX
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MultiplyReturningHighHalf(Vector<T> left, Vector<T> right); // SMULH or UMULH // predicated, MOVPRFX
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MultiplySubtract(Vector<T> minuend, Vector<T> left, Vector<T> right); // MLS or MSB // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long
public static unsafe Vector<T> Negate(Vector<T> value); // FNEG or NEG // predicated, MOVPRFX
/// T: int, long
public static unsafe Vector<T> SignExtend16(Vector<T> value); // SXTH // predicated, MOVPRFX
public static unsafe Vector<long> SignExtend32(Vector<long> value); // SXTW // predicated, MOVPRFX
/// T: short, int, long
public static unsafe Vector<T> SignExtend8(Vector<T> value); // SXTB // predicated, MOVPRFX
/// T: [short, sbyte], [int, short], [long, int]
public static unsafe Vector<T> SignExtendWideningLower(Vector<T2> value); // SUNPKLO
/// T: [short, sbyte], [int, short], [long, int]
public static unsafe Vector<T> SignExtendWideningUpper(Vector<T2> value); // SUNPKHI
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Subtract(Vector<T> left, Vector<T> right); // FSUB or SUB or FSUBR or SUBR // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> SubtractReversed(Vector<T> left, Vector<T> right); // FSUBR or SUBR or FSUB or SUB // predicated, MOVPRFX
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> SubtractSaturate(Vector<T> left, Vector<T> right); // SQSUB or UQSUB
/// T: uint, ulong
public static unsafe Vector<T> ZeroExtend16(Vector<T> value); // UXTH or AND // predicated, MOVPRFX
public static unsafe Vector<ulong> ZeroExtend32(Vector<ulong> value); // UXTW or AND // predicated, MOVPRFX
/// T: ushort, uint, ulong
public static unsafe Vector<T> ZeroExtend8(Vector<T> value); // UXTB or AND // predicated, MOVPRFX
/// T: [ushort, byte], [uint, ushort], [ulong, uint]
public static unsafe Vector<T> ZeroExtendWideningLower(Vector<T2> value); // UUNPKLO or PUNPKLO
/// T: [ushort, byte], [uint, ushort], [ulong, uint]
public static unsafe Vector<T> ZeroExtendWideningUpper(Vector<T2> value); // UUNPKHI or PUNPKHI
/// total method signatures: 43
/// Optional Entries:
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> AbsoluteDifference(Vector<T> left, T right); // FABD or SABD or UABD // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Add(Vector<T> left, T right); // FADD or FSUB or ADD or SUB // predicated, MOVPRFX
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> AddSaturate(Vector<T> left, T right); // SQADD or SQSUB or UQADD
/// T: float, double, int, long, uint, ulong
public static unsafe Vector<T> Divide(Vector<T> left, T right); // FDIV or SDIV or UDIV or FDIVR or SDIVR or UDIVR // predicated, MOVPRFX
/// T: [int, sbyte], [long, short], [uint, byte], [ulong, ushort]
public static unsafe Vector<T> DotProduct(Vector<T> op1, Vector<T2> op2, T2 op3); // SDOT or UDOT // MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Max(Vector<T> left, T right); // FMAX or SMAX or UMAX // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> MaxNumber(Vector<T> left, T right); // FMAXNM // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Min(Vector<T> left, T right); // FMIN or SMIN or UMIN // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> MinNumber(Vector<T> left, T right); // FMINNM // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Multiply(Vector<T> left, T right); // FMUL or MUL // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MultiplyAdd(Vector<T> addend, Vector<T> left, T right); // FMLA or MLA or FMAD or MAD // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> MultiplyAddNegate(Vector<T> op1, Vector<T> op2, T op3); // FNMLA or FNMAD // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> MultiplyExtended(Vector<T> left, T right); // FMULX // predicated, MOVPRFX
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MultiplyReturningHighHalf(Vector<T> left, T right); // SMULH or UMULH // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> MultiplySubtract(Vector<T> minuend, Vector<T> left, T right); // FMLS or MLS or FMSB or MSB // predicated, MOVPRFX
/// T: float, double
public static unsafe Vector<T> MultiplySubtractNegate(Vector<T> op1, Vector<T> op2, T op3); // FNMLS or FNMSB // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> Subtract(Vector<T> left, T right); // FSUB or FADD or SUB or FSUBR or ADD or SUBR // predicated, MOVPRFX
/// T: float, double, sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> SubtractReversed(Vector<T> left, T right); // FSUBR or SUBR or FSUB or SUB // predicated, MOVPRFX
/// T: sbyte, short, int, long, byte, ushort, uint, ulong
public static unsafe Vector<T> SubtractSaturate(Vector<T> left, T right); // SQSUB or SQADD or UQSUB
/// total optional method signatures: 19
}