diff --git a/src/coreclr/jit/hwintrinsiccodegenarm64.cpp b/src/coreclr/jit/hwintrinsiccodegenarm64.cpp index bdf319aeb5b460..5ac50438804009 100644 --- a/src/coreclr/jit/hwintrinsiccodegenarm64.cpp +++ b/src/coreclr/jit/hwintrinsiccodegenarm64.cpp @@ -2661,13 +2661,27 @@ void CodeGen::genHWIntrinsic(GenTreeHWIntrinsic* node) case NI_Sve2_BitwiseClearXor: if (targetReg != op1Reg) { - assert(targetReg != op2Reg); + assert(targetReg != op2Reg && targetReg != op3Reg); GetEmitter()->emitInsSve_R_R(INS_sve_movprfx, EA_SCALABLE, targetReg, op1Reg); } // Always use the lane size D. It's a bitwise operation so this is fine for all integer vector types. GetEmitter()->emitInsSve_R_R_R(ins, emitSize, targetReg, op2Reg, op3Reg, INS_OPTS_SCALABLE_D); break; + case NI_Sve2_BitwiseSelect: + case NI_Sve2_BitwiseSelectLeftInverted: + case NI_Sve2_BitwiseSelectRightInverted: + // op1: select, op2: left, op3: right + // Operation is destructive on the 'left' operand. + if (targetReg != op2Reg) + { + assert(targetReg != op3Reg && targetReg != op1Reg); + GetEmitter()->emitInsSve_R_R(INS_sve_movprfx, EA_SCALABLE, targetReg, op2Reg); + } + // Always use the lane size D. It's a bitwise operation so this is fine for all integer vector types. + GetEmitter()->emitInsSve_R_R_R(ins, emitSize, targetReg, op3Reg, op1Reg, INS_OPTS_SCALABLE_D); + break; + default: unreached(); } diff --git a/src/coreclr/jit/hwintrinsiclistarm64sve.h b/src/coreclr/jit/hwintrinsiclistarm64sve.h index 06a09e0e2e2c61..639a9056a1b608 100644 --- a/src/coreclr/jit/hwintrinsiclistarm64sve.h +++ b/src/coreclr/jit/hwintrinsiclistarm64sve.h @@ -310,6 +310,9 @@ HARDWARE_INTRINSIC(Sve, ZipLow, // SVE2 Intrinsics #define FIRST_NI_Sve2 NI_Sve2_BitwiseClearXor HARDWARE_INTRINSIC(Sve2, BitwiseClearXor, -1, 3, {INS_sve_bcax, INS_sve_bcax, INS_sve_bcax, INS_sve_bcax, INS_sve_bcax, INS_sve_bcax, INS_sve_bcax, INS_sve_bcax, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_SpecialCodeGen|HW_Flag_HasRMWSemantics) +HARDWARE_INTRINSIC(Sve2, BitwiseSelect, -1, 3, {INS_sve_bsl, INS_sve_bsl, INS_sve_bsl, INS_sve_bsl, INS_sve_bsl, INS_sve_bsl, INS_sve_bsl, INS_sve_bsl, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_SpecialCodeGen|HW_Flag_HasRMWSemantics) +HARDWARE_INTRINSIC(Sve2, BitwiseSelectLeftInverted, -1, 3, {INS_sve_bsl1n, INS_sve_bsl1n, INS_sve_bsl1n, INS_sve_bsl1n, INS_sve_bsl1n, INS_sve_bsl1n, INS_sve_bsl1n, INS_sve_bsl1n, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_SpecialCodeGen|HW_Flag_HasRMWSemantics) +HARDWARE_INTRINSIC(Sve2, BitwiseSelectRightInverted, -1, 3, {INS_sve_bsl2n, INS_sve_bsl2n, INS_sve_bsl2n, INS_sve_bsl2n, INS_sve_bsl2n, INS_sve_bsl2n, INS_sve_bsl2n, INS_sve_bsl2n, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_SpecialCodeGen|HW_Flag_HasRMWSemantics) HARDWARE_INTRINSIC(Sve2, ShiftLeftAndInsert, -1, 3, {INS_sve_sli, INS_sve_sli, INS_sve_sli, INS_sve_sli, INS_sve_sli, INS_sve_sli, INS_sve_sli, INS_sve_sli, INS_invalid, INS_invalid}, HW_Category_ShiftLeftByImmediate, HW_Flag_Scalable|HW_Flag_HasImmediateOperand|HW_Flag_HasRMWSemantics) #define LAST_NI_Sve2 NI_Sve2_ShiftLeftAndInsert diff --git a/src/coreclr/jit/lsraarm64.cpp b/src/coreclr/jit/lsraarm64.cpp index 7baaef17ac484d..24cd1bd4a818aa 100644 --- a/src/coreclr/jit/lsraarm64.cpp +++ b/src/coreclr/jit/lsraarm64.cpp @@ -2290,6 +2290,9 @@ GenTree* LinearScan::getDelayFreeOperand(GenTreeHWIntrinsic* intrinsicTree, bool break; case NI_Sve_CreateBreakPropagateMask: + case NI_Sve2_BitwiseSelect: + case NI_Sve2_BitwiseSelectLeftInverted: + case NI_Sve2_BitwiseSelectRightInverted: // RMW operates on the second op. assert(isRMW); delayFreeOp = intrinsicTree->Op(2); diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.PlatformNotSupported.cs index 3b3ae004a4784e..9c6df34e53ea76 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.PlatformNotSupported.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.PlatformNotSupported.cs @@ -78,6 +78,159 @@ internal Arm64() { } /// public static unsafe Vector BitwiseClearXor(Vector xor, Vector value, Vector mask) { throw new PlatformNotSupportedException(); } + + // Bitwise select + + /// + /// svuint8_t svbsl[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svbsl[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svbsl[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svbsl[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint8_t svbsl[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbsl[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbsl[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbsl[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + // Bitwise select with first input inverted + + /// + /// svuint8_t svbsl1n[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svbsl1n[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svbsl1n[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svbsl1n[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint8_t svbsl1n[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbsl1n[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbsl1n[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbsl1n[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + + // Bitwise select with second input inverted + + /// + /// svuint8_t svbsl2n[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint16_t svbsl2n[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint32_t svbsl2n[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint64_t svbsl2n[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svint8_t svbsl2n[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint16_t svbsl2n[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint32_t svbsl2n[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + + /// + /// svuint64_t svbsl2n[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + // Shift left and insert /// diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.cs index 8d70bea17d6c44..8d60560a197143 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve2.cs @@ -78,6 +78,159 @@ internal Arm64() { } /// public static unsafe Vector BitwiseClearXor(Vector xor, Vector value, Vector mask) => BitwiseClearXor(xor, value, mask); + + // Bitwise select + + /// + /// svuint8_t svbsl[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) => BitwiseSelect(select, left, right); + + /// + /// svint16_t svbsl[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) => BitwiseSelect(select, left, right); + + /// + /// svint32_t svbsl[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) => BitwiseSelect(select, left, right); + + /// + /// svint64_t svbsl[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) => BitwiseSelect(select, left, right); + + /// + /// svint8_t svbsl[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) => BitwiseSelect(select, left, right); + + /// + /// svuint16_t svbsl[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) => BitwiseSelect(select, left, right); + + /// + /// svuint32_t svbsl[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) => BitwiseSelect(select, left, right); + + /// + /// svuint64_t svbsl[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelect(Vector select, Vector left, Vector right) => BitwiseSelect(select, left, right); + + + // Bitwise select with first input inverted + + /// + /// svuint8_t svbsl1n[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) => BitwiseSelectLeftInverted(select, left, right); + + /// + /// svint16_t svbsl1n[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) => BitwiseSelectLeftInverted(select, left, right); + + /// + /// svint32_t svbsl1n[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) => BitwiseSelectLeftInverted(select, left, right); + + /// + /// svint64_t svbsl1n[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) => BitwiseSelectLeftInverted(select, left, right); + + /// + /// svint8_t svbsl1n[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) => BitwiseSelectLeftInverted(select, left, right); + + /// + /// svuint16_t svbsl1n[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) => BitwiseSelectLeftInverted(select, left, right); + + /// + /// svuint32_t svbsl1n[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) => BitwiseSelectLeftInverted(select, left, right); + + /// + /// svuint64_t svbsl1n[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL1N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectLeftInverted(Vector select, Vector left, Vector right) => BitwiseSelectLeftInverted(select, left, right); + + + // Bitwise select with second input inverted + + /// + /// svuint8_t svbsl2n[_u8](svuint8_t op1, svuint8_t op2, svuint8_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) => BitwiseSelectRightInverted(select, left, right); + + /// + /// svint16_t svbsl2n[_s16](svint16_t op1, svint16_t op2, svint16_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) => BitwiseSelectRightInverted(select, left, right); + + /// + /// svint32_t svbsl2n[_s32](svint32_t op1, svint32_t op2, svint32_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) => BitwiseSelectRightInverted(select, left, right); + + /// + /// svint64_t svbsl2n[_s64](svint64_t op1, svint64_t op2, svint64_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) => BitwiseSelectRightInverted(select, left, right); + + /// + /// svint8_t svbsl2n[_s8](svint8_t op1, svint8_t op2, svint8_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) => BitwiseSelectRightInverted(select, left, right); + + /// + /// svuint16_t svbsl2n[_u16](svuint16_t op1, svuint16_t op2, svuint16_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) => BitwiseSelectRightInverted(select, left, right); + + /// + /// svuint32_t svbsl2n[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) => BitwiseSelectRightInverted(select, left, right); + + /// + /// svuint64_t svbsl2n[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) + /// BSL2N Ztied1.D, Ztied1.D, Zop2.D, Zop3.D + /// + public static unsafe Vector BitwiseSelectRightInverted(Vector select, Vector left, Vector right) => BitwiseSelectRightInverted(select, left, right); + // Shift left and insert /// diff --git a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs index 95c6db474d586e..b27ff60f800823 100644 --- a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs +++ b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs @@ -424,7 +424,7 @@ public static void CopyTo(this System.Runtime.Intrinsics.Vector128 vector, public override bool Equals([System.Diagnostics.CodeAnalysis.NotNullWhenAttribute(true)] object? obj) { throw null; } public bool Equals(System.Runtime.Intrinsics.Vector128 other) { throw null; } public override int GetHashCode() { throw null; } - public T this[int index] { get { throw null; } } + public T this[int index] { get { throw null; } } public static System.Runtime.Intrinsics.Vector128 operator +(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right) { throw null; } public static System.Runtime.Intrinsics.Vector128 operator &(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right) { throw null; } public static System.Runtime.Intrinsics.Vector128 operator |(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right) { throw null; } @@ -764,7 +764,7 @@ public static void CopyTo(this System.Runtime.Intrinsics.Vector256 vector, public static System.Runtime.Intrinsics.Vector256 Shuffle(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices) { throw null; } public static System.Runtime.Intrinsics.Vector256 Shuffle(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices) { throw null; } public static System.Runtime.Intrinsics.Vector256 ShuffleNative(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices) { throw null; } - [System.CLSCompliantAttribute(false)] + [System.CLSCompliantAttribute(false)] public static System.Runtime.Intrinsics.Vector256 ShuffleNative(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices) { throw null; } public static System.Runtime.Intrinsics.Vector256 ShuffleNative(System.Runtime.Intrinsics.Vector256 vector, System.Runtime.Intrinsics.Vector256 indices) { throw null; } [System.CLSCompliantAttribute(false)] @@ -850,7 +850,7 @@ public static void CopyTo(this System.Runtime.Intrinsics.Vector256 vector, public override bool Equals([System.Diagnostics.CodeAnalysis.NotNullWhenAttribute(true)] object? obj) { throw null; } public bool Equals(System.Runtime.Intrinsics.Vector256 other) { throw null; } public override int GetHashCode() { throw null; } - public T this[int index] { get { throw null; } } + public T this[int index] { get { throw null; } } public static System.Runtime.Intrinsics.Vector256 operator +(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right) { throw null; } public static System.Runtime.Intrinsics.Vector256 operator &(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right) { throw null; } public static System.Runtime.Intrinsics.Vector256 operator |(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right) { throw null; } @@ -936,7 +936,7 @@ public static void CopyTo(this System.Runtime.Intrinsics.Vector512 vector, public static int Count(System.Runtime.Intrinsics.Vector512 vector, T value) { throw null; } public static int CountWhereAllBitsSet(System.Runtime.Intrinsics.Vector512 vector) { throw null; } public static System.Runtime.Intrinsics.Vector512 Create(byte value) { throw null; } - public static System.Runtime.Intrinsics.Vector512 Create(byte e0, byte e1, byte e2, byte e3, byte e4, byte e5, byte e6, byte e7, byte e8, byte e9, byte e10, byte e11, byte e12, byte e13, byte e14, byte e15, byte e16, byte e17, byte e18, byte e19, byte e20, byte e21, byte e22, byte e23, byte e24, byte e25, byte e26, byte e27, byte e28, byte e29, byte e30, byte e31, byte e32, byte e33, byte e34, byte e35, byte e36, byte e37, byte e38, byte e39, byte e40, byte e41, byte e42, byte e43, byte e44, byte e45, byte e46, byte e47, byte e48, byte e49, byte e50, byte e51, byte e52, byte e53, byte e54, byte e55, byte e56, byte e57, byte e58, byte e59, byte e60, byte e61, byte e62, byte e63) { throw null; } + public static System.Runtime.Intrinsics.Vector512 Create(byte e0, byte e1, byte e2, byte e3, byte e4, byte e5, byte e6, byte e7, byte e8, byte e9, byte e10, byte e11, byte e12, byte e13, byte e14, byte e15, byte e16, byte e17, byte e18, byte e19, byte e20, byte e21, byte e22, byte e23, byte e24, byte e25, byte e26, byte e27, byte e28, byte e29, byte e30, byte e31, byte e32, byte e33, byte e34, byte e35, byte e36, byte e37, byte e38, byte e39, byte e40, byte e41, byte e42, byte e43, byte e44, byte e45, byte e46, byte e47, byte e48, byte e49, byte e50, byte e51, byte e52, byte e53, byte e54, byte e55, byte e56, byte e57, byte e58, byte e59, byte e60, byte e61, byte e62, byte e63) { throw null; } public static System.Runtime.Intrinsics.Vector512 Create(double value) { throw null; } public static System.Runtime.Intrinsics.Vector512 Create(double e0, double e1, double e2, double e3, double e4, double e5, double e6, double e7) { throw null; } public static System.Runtime.Intrinsics.Vector512 Create(short value) { throw null; } @@ -968,7 +968,7 @@ public static void CopyTo(this System.Runtime.Intrinsics.Vector512 vector, [System.CLSCompliantAttribute(false)] public static System.Runtime.Intrinsics.Vector512 Create(sbyte value) { throw null; } [System.CLSCompliantAttribute(false)] - public static System.Runtime.Intrinsics.Vector512 Create(sbyte e0, sbyte e1, sbyte e2, sbyte e3, sbyte e4, sbyte e5, sbyte e6, sbyte e7, sbyte e8, sbyte e9, sbyte e10, sbyte e11, sbyte e12, sbyte e13, sbyte e14, sbyte e15, sbyte e16, sbyte e17, sbyte e18, sbyte e19, sbyte e20, sbyte e21, sbyte e22, sbyte e23, sbyte e24, sbyte e25, sbyte e26, sbyte e27, sbyte e28, sbyte e29, sbyte e30, sbyte e31, sbyte e32, sbyte e33, sbyte e34, sbyte e35, sbyte e36, sbyte e37, sbyte e38, sbyte e39, sbyte e40, sbyte e41, sbyte e42, sbyte e43, sbyte e44, sbyte e45, sbyte e46, sbyte e47, sbyte e48, sbyte e49, sbyte e50, sbyte e51, sbyte e52, sbyte e53, sbyte e54, sbyte e55, sbyte e56, sbyte e57, sbyte e58, sbyte e59, sbyte e60, sbyte e61, sbyte e62, sbyte e63) { throw null; } + public static System.Runtime.Intrinsics.Vector512 Create(sbyte e0, sbyte e1, sbyte e2, sbyte e3, sbyte e4, sbyte e5, sbyte e6, sbyte e7, sbyte e8, sbyte e9, sbyte e10, sbyte e11, sbyte e12, sbyte e13, sbyte e14, sbyte e15, sbyte e16, sbyte e17, sbyte e18, sbyte e19, sbyte e20, sbyte e21, sbyte e22, sbyte e23, sbyte e24, sbyte e25, sbyte e26, sbyte e27, sbyte e28, sbyte e29, sbyte e30, sbyte e31, sbyte e32, sbyte e33, sbyte e34, sbyte e35, sbyte e36, sbyte e37, sbyte e38, sbyte e39, sbyte e40, sbyte e41, sbyte e42, sbyte e43, sbyte e44, sbyte e45, sbyte e46, sbyte e47, sbyte e48, sbyte e49, sbyte e50, sbyte e51, sbyte e52, sbyte e53, sbyte e54, sbyte e55, sbyte e56, sbyte e57, sbyte e58, sbyte e59, sbyte e60, sbyte e61, sbyte e62, sbyte e63) { throw null; } public static System.Runtime.Intrinsics.Vector512 Create(float value) { throw null; } public static System.Runtime.Intrinsics.Vector512 Create(float e0, float e1, float e2, float e3, float e4, float e5, float e6, float e7, float e8, float e9, float e10, float e11, float e12, float e13, float e14, float e15) { throw null; } [System.CLSCompliantAttribute(false)] @@ -1275,7 +1275,7 @@ public static void CopyTo(this System.Runtime.Intrinsics.Vector512 vector, public override bool Equals([System.Diagnostics.CodeAnalysis.NotNullWhenAttribute(true)] object? obj) { throw null; } public bool Equals(System.Runtime.Intrinsics.Vector512 other) { throw null; } public override int GetHashCode() { throw null; } - public T this[int index] { get { throw null; } } + public T this[int index] { get { throw null; } } public static System.Runtime.Intrinsics.Vector512 operator +(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right) { throw null; } public static System.Runtime.Intrinsics.Vector512 operator &(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right) { throw null; } public static System.Runtime.Intrinsics.Vector512 operator |(System.Runtime.Intrinsics.Vector512 left, System.Runtime.Intrinsics.Vector512 right) { throw null; } @@ -1663,7 +1663,7 @@ public static void CopyTo(this System.Runtime.Intrinsics.Vector64 vector, public override bool Equals([System.Diagnostics.CodeAnalysis.NotNullWhenAttribute(true)] object? obj) { throw null; } public bool Equals(System.Runtime.Intrinsics.Vector64 other) { throw null; } public override int GetHashCode() { throw null; } - public T this[int index] { get { throw null; } } + public T this[int index] { get { throw null; } } public static System.Runtime.Intrinsics.Vector64 operator +(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right) { throw null; } public static System.Runtime.Intrinsics.Vector64 operator &(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right) { throw null; } public static System.Runtime.Intrinsics.Vector64 operator |(System.Runtime.Intrinsics.Vector64 left, System.Runtime.Intrinsics.Vector64 right) { throw null; } @@ -3850,7 +3850,7 @@ internal Arm64() { } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2) Load2xVector128(ushort* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2) Load2xVector128(int* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2) Load2xVector128(uint* address) { throw null; } - public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2) Load2xVector128(long* address) { throw null; } + public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2) Load2xVector128(long* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2) Load2xVector128(ulong* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2) Load2xVector128(float* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2) Load2xVector128(double* address) { throw null; } @@ -3860,7 +3860,7 @@ internal Arm64() { } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3) Load3xVector128(ushort* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3) Load3xVector128(int* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3) Load3xVector128(uint* address) { throw null; } - public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3) Load3xVector128(long* address) { throw null; } + public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3) Load3xVector128(long* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3) Load3xVector128(ulong* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3) Load3xVector128(float* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3) Load3xVector128(double* address) { throw null; } @@ -3870,7 +3870,7 @@ internal Arm64() { } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3, System.Runtime.Intrinsics.Vector128 Value4) Load4xVector128(ushort* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3, System.Runtime.Intrinsics.Vector128 Value4) Load4xVector128(int* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3, System.Runtime.Intrinsics.Vector128 Value4) Load4xVector128(uint* address) { throw null; } - public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3, System.Runtime.Intrinsics.Vector128 Value4) Load4xVector128(long* address) { throw null; } + public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3, System.Runtime.Intrinsics.Vector128 Value4) Load4xVector128(long* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3, System.Runtime.Intrinsics.Vector128 Value4) Load4xVector128(ulong* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3, System.Runtime.Intrinsics.Vector128 Value4) Load4xVector128(float* address) { throw null; } public static unsafe (System.Runtime.Intrinsics.Vector128 Value1, System.Runtime.Intrinsics.Vector128 Value2, System.Runtime.Intrinsics.Vector128 Value3, System.Runtime.Intrinsics.Vector128 Value4) Load4xVector128(double* address) { throw null; } @@ -6047,6 +6047,30 @@ internal Arm64() { } public static System.Numerics.Vector BitwiseClearXor(System.Numerics.Vector xor, System.Numerics.Vector value, System.Numerics.Vector mask) { throw null; } public static System.Numerics.Vector BitwiseClearXor(System.Numerics.Vector xor, System.Numerics.Vector value, System.Numerics.Vector mask) { throw null; } public static System.Numerics.Vector BitwiseClearXor(System.Numerics.Vector xor, System.Numerics.Vector value, System.Numerics.Vector mask) { throw null; } + public static System.Numerics.Vector BitwiseSelect(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelect(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelect(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelect(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelect(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelect(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelect(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelect(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectLeftInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectLeftInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectLeftInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectLeftInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectLeftInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectLeftInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectLeftInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectLeftInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectRightInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectRightInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectRightInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectRightInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectRightInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectRightInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectRightInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector BitwiseSelectRightInverted(System.Numerics.Vector select, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } public static System.Numerics.Vector ShiftLeftAndInsert(System.Numerics.Vector left, System.Numerics.Vector right, [ConstantExpected] byte shift) { throw null; } public static System.Numerics.Vector ShiftLeftAndInsert(System.Numerics.Vector left, System.Numerics.Vector right, [ConstantExpected] byte shift) { throw null; } public static System.Numerics.Vector ShiftLeftAndInsert(System.Numerics.Vector left, System.Numerics.Vector right, [ConstantExpected] byte shift) { throw null; } @@ -6075,7 +6099,7 @@ public enum SveMaskPattern : byte VectorCount256 = 13, // 256 elements. LargestMultipleOf4 = 29, // The largest multiple of 4. LargestMultipleOf3 = 30, // The largest multiple of 3. - All = 31 // All available (implicitly a multiple of two). + All = 31 // All available (implicitly a multiple of two). }; public enum SvePrefetchType : byte @@ -9483,475 +9507,475 @@ namespace System.Runtime.Intrinsics.Wasm public abstract partial class PackedSimd { public static bool IsSupported { get { throw null; } } - public static Vector128 Splat(sbyte value) { throw null; } - public static Vector128 Splat(byte value) { throw null; } - public static Vector128 Splat(short value) { throw null; } + public static Vector128 Splat(sbyte value) { throw null; } + public static Vector128 Splat(byte value) { throw null; } + public static Vector128 Splat(short value) { throw null; } public static Vector128 Splat(ushort value) { throw null; } - public static Vector128 Splat(int value) { throw null; } - public static Vector128 Splat(uint value) { throw null; } - public static Vector128 Splat(long value) { throw null; } - public static Vector128 Splat(ulong value) { throw null; } - public static Vector128 Splat(float value) { throw null; } + public static Vector128 Splat(int value) { throw null; } + public static Vector128 Splat(uint value) { throw null; } + public static Vector128 Splat(long value) { throw null; } + public static Vector128 Splat(ulong value) { throw null; } + public static Vector128 Splat(float value) { throw null; } public static Vector128 Splat(double value) { throw null; } - public static Vector128 Splat(nint value) { throw null; } - public static Vector128 Splat(nuint value) { throw null; } - public static int ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(15))] byte index) { throw null; }// takes ImmLaneIdx16 - public static uint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(15))] byte index) { throw null; }// takes ImmLaneIdx16 - public static int ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(7))] byte index) { throw null; }// takes ImmLaneIdx8 - public static uint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(7))] byte index) { throw null; }// takes ImmLaneIdx8 - public static int ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; }// takes ImmLaneIdx4 - public static uint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; }// takes ImmLaneIdx4 - public static long ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte index) { throw null; }// takes ImmLaneIdx2 - public static ulong ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte index) { throw null; }// takes ImmLaneIdx2 - public static float ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; }// takes ImmLaneIdx4 + public static Vector128 Splat(nint value) { throw null; } + public static Vector128 Splat(nuint value) { throw null; } + public static int ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(15))] byte index) { throw null; }// takes ImmLaneIdx16 + public static uint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(15))] byte index) { throw null; }// takes ImmLaneIdx16 + public static int ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(7))] byte index) { throw null; }// takes ImmLaneIdx8 + public static uint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(7))] byte index) { throw null; }// takes ImmLaneIdx8 + public static int ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; }// takes ImmLaneIdx4 + public static uint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; }// takes ImmLaneIdx4 + public static long ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte index) { throw null; }// takes ImmLaneIdx2 + public static ulong ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte index) { throw null; }// takes ImmLaneIdx2 + public static float ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; }// takes ImmLaneIdx4 public static double ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte index) { throw null; }// takes ImmLaneIdx2 - public static nint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; } - public static nuint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; } - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(15))] byte imm, int value) { throw null; } // takes ImmLaneIdx16 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(15))] byte imm, uint value) { throw null; } // takes ImmLaneIdx16 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(7))] byte imm, int value) { throw null; } // takes ImmLaneIdx8 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(7))] byte imm, uint value) { throw null; } // takes ImmLaneIdx8 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, int value) { throw null; } // takes ImmLaneIdx4 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, uint value) { throw null; } // takes ImmLaneIdx4 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte imm, long value) { throw null; } // takes ImmLaneIdx2 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte imm, ulong value) { throw null; } // takes ImmLaneIdx2 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, float value) { throw null; } // takes ImmLaneIdx4 + public static nint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; } + public static nuint ExtractScalar(Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte index) { throw null; } + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(15))] byte imm, int value) { throw null; } // takes ImmLaneIdx16 + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(15))] byte imm, uint value) { throw null; } // takes ImmLaneIdx16 + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(7))] byte imm, int value) { throw null; } // takes ImmLaneIdx8 + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(7))] byte imm, uint value) { throw null; } // takes ImmLaneIdx8 + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, int value) { throw null; } // takes ImmLaneIdx4 + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, uint value) { throw null; } // takes ImmLaneIdx4 + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte imm, long value) { throw null; } // takes ImmLaneIdx2 + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte imm, ulong value) { throw null; } // takes ImmLaneIdx2 + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, float value) { throw null; } // takes ImmLaneIdx4 public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(1))] byte imm, double value) { throw null; } // takes ImmLaneIdx2 - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, nint value) { throw null; } - public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, nuint value) { throw null; } + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, nint value) { throw null; } + public static Vector128 ReplaceScalar(Vector128 vector, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute(Max = (byte)(3))] byte imm, nuint value) { throw null; } public static Vector128 Swizzle(Vector128 vector, Vector128 indices) { throw null; } - public static Vector128 Swizzle(Vector128 vector, Vector128 indices) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Swizzle(Vector128 vector, Vector128 indices) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } public static Vector128 Dot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } - public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AddPairwiseWidening(Vector128 value) { throw null; } - public static Vector128 AddPairwiseWidening(Vector128 value) { throw null; } - public static Vector128 AddPairwiseWidening(Vector128 value) { throw null; } - public static Vector128 AddPairwiseWidening(Vector128 value) { throw null; } - public static Vector128 AddSaturate(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AddSaturate(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AddSaturate(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } + public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningLower(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } + public static Vector128 MultiplyWideningUpper(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AddPairwiseWidening(Vector128 value) { throw null; } + public static Vector128 AddPairwiseWidening(Vector128 value) { throw null; } + public static Vector128 AddPairwiseWidening(Vector128 value) { throw null; } + public static Vector128 AddPairwiseWidening(Vector128 value) { throw null; } + public static Vector128 AddSaturate(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AddSaturate(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AddSaturate(Vector128 left, Vector128 right) { throw null; } public static Vector128 AddSaturate(Vector128 left, Vector128 right) { throw null; } - public static Vector128 SubtractSaturate(Vector128 left, Vector128 right) { throw null; } - public static Vector128 SubtractSaturate(Vector128 left, Vector128 right) { throw null; } - public static Vector128 SubtractSaturate(Vector128 left, Vector128 right) { throw null; } + public static Vector128 SubtractSaturate(Vector128 left, Vector128 right) { throw null; } + public static Vector128 SubtractSaturate(Vector128 left, Vector128 right) { throw null; } + public static Vector128 SubtractSaturate(Vector128 left, Vector128 right) { throw null; } public static Vector128 SubtractSaturate(Vector128 left, Vector128 right) { throw null; } public static Vector128 MultiplyRoundedSaturateQ15(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AverageRounded(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AverageRounded(Vector128 left, Vector128 right) { throw null; } public static Vector128 AverageRounded(Vector128 left, Vector128 right) { throw null; } public static Vector128 Abs(Vector128 value) { throw null; } public static Vector128 Abs(Vector128 value) { throw null; } - public static Vector128 Abs(Vector128 value) { throw null; } - public static Vector128 Abs(Vector128 value) { throw null; } - public static Vector128 Abs(Vector128 value) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 Abs(Vector128 value) { throw null; } + public static Vector128 Abs(Vector128 value) { throw null; } + public static Vector128 Abs(Vector128 value) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 ShiftLeft(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightArithmetic(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 ShiftRightLogical(Vector128 value, int count) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 And(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 And(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Or(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Xor(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 Not(Vector128 value) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 Not(Vector128 value) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 AndNot(Vector128 left, Vector128 right) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } - public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } + public static Vector128 BitwiseSelect(Vector128 left, Vector128 right, Vector128 select) { throw null; } public static Vector128 PopCount(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AnyTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AnyTrue(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } public static bool AllTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } - public static bool AllTrue(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } + public static bool AllTrue(Vector128 value) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } public static int Bitmask(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } - public static int Bitmask(Vector128 value) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } + public static int Bitmask(Vector128 value) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareNotEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareLessThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThan(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } - public static unsafe Vector128 LoadVector128(sbyte* address) { throw null; } - public static unsafe Vector128 LoadVector128(byte* address) { throw null; } - public static unsafe Vector128 LoadVector128(short* address) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static Vector128 CompareGreaterThanOrEqual(Vector128 left, Vector128 right) { throw null; } + public static unsafe Vector128 LoadVector128(sbyte* address) { throw null; } + public static unsafe Vector128 LoadVector128(byte* address) { throw null; } + public static unsafe Vector128 LoadVector128(short* address) { throw null; } public static unsafe Vector128 LoadVector128(ushort* address) { throw null; } - public static unsafe Vector128 LoadVector128(int* address) { throw null; } - public static unsafe Vector128 LoadVector128(uint* address) { throw null; } - public static unsafe Vector128 LoadVector128(long* address) { throw null; } - public static unsafe Vector128 LoadVector128(ulong* address) { throw null; } - public static unsafe Vector128 LoadVector128(float* address) { throw null; } + public static unsafe Vector128 LoadVector128(int* address) { throw null; } + public static unsafe Vector128 LoadVector128(uint* address) { throw null; } + public static unsafe Vector128 LoadVector128(long* address) { throw null; } + public static unsafe Vector128 LoadVector128(ulong* address) { throw null; } + public static unsafe Vector128 LoadVector128(float* address) { throw null; } public static unsafe Vector128 LoadVector128(double* address) { throw null; } - public static unsafe Vector128 LoadVector128(nint* address) { throw null; } - public static unsafe Vector128 LoadVector128(nuint* address) { throw null; } - public static unsafe Vector128 LoadScalarVector128(int* address) { throw null; } - public static unsafe Vector128 LoadScalarVector128(uint* address) { throw null; } - public static unsafe Vector128 LoadScalarVector128(long* address) { throw null; } - public static unsafe Vector128 LoadScalarVector128(ulong* address) { throw null; } - public static unsafe Vector128 LoadScalarVector128(float* address) { throw null; } + public static unsafe Vector128 LoadVector128(nint* address) { throw null; } + public static unsafe Vector128 LoadVector128(nuint* address) { throw null; } + public static unsafe Vector128 LoadScalarVector128(int* address) { throw null; } + public static unsafe Vector128 LoadScalarVector128(uint* address) { throw null; } + public static unsafe Vector128 LoadScalarVector128(long* address) { throw null; } + public static unsafe Vector128 LoadScalarVector128(ulong* address) { throw null; } + public static unsafe Vector128 LoadScalarVector128(float* address) { throw null; } public static unsafe Vector128 LoadScalarVector128(double* address) { throw null; } - public static unsafe Vector128 LoadScalarVector128(nint* address) { throw null; } - public static unsafe Vector128 LoadScalarVector128(nuint* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(sbyte* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(byte* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(short* address) { throw null; } + public static unsafe Vector128 LoadScalarVector128(nint* address) { throw null; } + public static unsafe Vector128 LoadScalarVector128(nuint* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(sbyte* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(byte* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(short* address) { throw null; } public static unsafe Vector128 LoadScalarAndSplatVector128(ushort* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(int* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(uint* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(long* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(ulong* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(float* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(int* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(uint* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(long* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(ulong* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(float* address) { throw null; } public static unsafe Vector128 LoadScalarAndSplatVector128(double* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(nint* address) { throw null; } - public static unsafe Vector128 LoadScalarAndSplatVector128(nuint* address) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(sbyte* address, Vector128 vector, [ConstantExpected(Max = (byte)(15))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(byte* address, Vector128 vector, [ConstantExpected(Max = (byte)(15))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(short* address, Vector128 vector, [ConstantExpected(Max = (byte)(7))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(nint* address) { throw null; } + public static unsafe Vector128 LoadScalarAndSplatVector128(nuint* address) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(sbyte* address, Vector128 vector, [ConstantExpected(Max = (byte)(15))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(byte* address, Vector128 vector, [ConstantExpected(Max = (byte)(15))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(short* address, Vector128 vector, [ConstantExpected(Max = (byte)(7))] byte index) { throw null; } public static unsafe Vector128 LoadScalarAndInsert(ushort* address, Vector128 vector, [ConstantExpected(Max = (byte)(7))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(int* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(uint* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(long* address, Vector128 vector, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(ulong* address, Vector128 vector, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(float* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(int* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(uint* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(long* address, Vector128 vector, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(ulong* address, Vector128 vector, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(float* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } public static unsafe Vector128 LoadScalarAndInsert(double* address, Vector128 vector, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(nint* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } - public static unsafe Vector128 LoadScalarAndInsert(nuint* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } - public static unsafe Vector128 LoadWideningVector128(sbyte* address) { throw null; } - public static unsafe Vector128 LoadWideningVector128(byte* address) { throw null; } - public static unsafe Vector128 LoadWideningVector128(short* address) { throw null; } - public static unsafe Vector128 LoadWideningVector128(ushort* address) { throw null; } - public static unsafe Vector128 LoadWideningVector128(int* address) { throw null; } - public static unsafe Vector128 LoadWideningVector128(uint* address) { throw null; } - public static unsafe void Store(sbyte* address, Vector128 source) { throw null; } - public static unsafe void Store(byte* address, Vector128 source) { throw null; } - public static unsafe void Store(short* address, Vector128 source) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(nint* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } + public static unsafe Vector128 LoadScalarAndInsert(nuint* address, Vector128 vector, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } + public static unsafe Vector128 LoadWideningVector128(sbyte* address) { throw null; } + public static unsafe Vector128 LoadWideningVector128(byte* address) { throw null; } + public static unsafe Vector128 LoadWideningVector128(short* address) { throw null; } + public static unsafe Vector128 LoadWideningVector128(ushort* address) { throw null; } + public static unsafe Vector128 LoadWideningVector128(int* address) { throw null; } + public static unsafe Vector128 LoadWideningVector128(uint* address) { throw null; } + public static unsafe void Store(sbyte* address, Vector128 source) { throw null; } + public static unsafe void Store(byte* address, Vector128 source) { throw null; } + public static unsafe void Store(short* address, Vector128 source) { throw null; } public static unsafe void Store(ushort* address, Vector128 source) { throw null; } - public static unsafe void Store(int* address, Vector128 source) { throw null; } - public static unsafe void Store(uint* address, Vector128 source) { throw null; } - public static unsafe void Store(long* address, Vector128 source) { throw null; } - public static unsafe void Store(ulong* address, Vector128 source) { throw null; } - public static unsafe void Store(float* address, Vector128 source) { throw null; } + public static unsafe void Store(int* address, Vector128 source) { throw null; } + public static unsafe void Store(uint* address, Vector128 source) { throw null; } + public static unsafe void Store(long* address, Vector128 source) { throw null; } + public static unsafe void Store(ulong* address, Vector128 source) { throw null; } + public static unsafe void Store(float* address, Vector128 source) { throw null; } public static unsafe void Store(double* address, Vector128 source) { throw null; } - public static unsafe void Store(nint* address, Vector128 source) { throw null; } - public static unsafe void Store(nuint* address, Vector128 source) { throw null; } - public static unsafe void StoreSelectedScalar(sbyte* address, Vector128 source, [ConstantExpected(Max = (byte)(15))] byte index) { throw null; } // takes ImmLaneIdx16 - public static unsafe void StoreSelectedScalar(byte* address, Vector128 source, [ConstantExpected(Max = (byte)(15))] byte index) { throw null; } // takes ImmLaneIdx16 - public static unsafe void StoreSelectedScalar(short* address, Vector128 source, [ConstantExpected(Max = (byte)(7))] byte index) { throw null; } // takes ImmLaneIdx8 + public static unsafe void Store(nint* address, Vector128 source) { throw null; } + public static unsafe void Store(nuint* address, Vector128 source) { throw null; } + public static unsafe void StoreSelectedScalar(sbyte* address, Vector128 source, [ConstantExpected(Max = (byte)(15))] byte index) { throw null; } // takes ImmLaneIdx16 + public static unsafe void StoreSelectedScalar(byte* address, Vector128 source, [ConstantExpected(Max = (byte)(15))] byte index) { throw null; } // takes ImmLaneIdx16 + public static unsafe void StoreSelectedScalar(short* address, Vector128 source, [ConstantExpected(Max = (byte)(7))] byte index) { throw null; } // takes ImmLaneIdx8 public static unsafe void StoreSelectedScalar(ushort* address, Vector128 source, [ConstantExpected(Max = (byte)(7))] byte index) { throw null; } // takes ImmLaneIdx8 - public static unsafe void StoreSelectedScalar(int* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } // takes ImmLaneIdx4 - public static unsafe void StoreSelectedScalar(uint* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } // takes ImmLaneIdx4 - public static unsafe void StoreSelectedScalar(long* address, Vector128 source, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } // takes ImmLaneIdx2 - public static unsafe void StoreSelectedScalar(ulong* address, Vector128 source, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } // takes ImmLaneIdx2 - public static unsafe void StoreSelectedScalar(float* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } // takes ImmLaneIdx4 + public static unsafe void StoreSelectedScalar(int* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } // takes ImmLaneIdx4 + public static unsafe void StoreSelectedScalar(uint* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } // takes ImmLaneIdx4 + public static unsafe void StoreSelectedScalar(long* address, Vector128 source, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } // takes ImmLaneIdx2 + public static unsafe void StoreSelectedScalar(ulong* address, Vector128 source, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } // takes ImmLaneIdx2 + public static unsafe void StoreSelectedScalar(float* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } // takes ImmLaneIdx4 public static unsafe void StoreSelectedScalar(double* address, Vector128 source, [ConstantExpected(Max = (byte)(1))] byte index) { throw null; } // takes ImmLaneIdx2 - public static unsafe void StoreSelectedScalar(nint* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } - public static unsafe void StoreSelectedScalar(nuint* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } - public static Vector128 Negate(Vector128 value) { throw null; } + public static unsafe void StoreSelectedScalar(nint* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } + public static unsafe void StoreSelectedScalar(nuint* address, Vector128 source, [ConstantExpected(Max = (byte)(3))] byte index) { throw null; } + public static Vector128 Negate(Vector128 value) { throw null; } public static Vector128 Negate(Vector128 value) { throw null; } - public static Vector128 Abs(Vector128 value) { throw null; } + public static Vector128 Abs(Vector128 value) { throw null; } public static Vector128 Abs(Vector128 value) { throw null; } - public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } public static Vector128 Min(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } public static Vector128 Max(Vector128 left, Vector128 right) { throw null; } - public static Vector128 PseudoMin(Vector128 left, Vector128 right) { throw null; } + public static Vector128 PseudoMin(Vector128 left, Vector128 right) { throw null; } public static Vector128 PseudoMin(Vector128 left, Vector128 right) { throw null; } - public static Vector128 PseudoMax(Vector128 left, Vector128 right) { throw null; } + public static Vector128 PseudoMax(Vector128 left, Vector128 right) { throw null; } public static Vector128 PseudoMax(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } public static Vector128 Add(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } public static Vector128 Subtract(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Divide(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Divide(Vector128 left, Vector128 right) { throw null; } public static Vector128 Divide(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } + public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } public static Vector128 Multiply(Vector128 left, Vector128 right) { throw null; } - public static Vector128 Sqrt(Vector128 value) { throw null; } + public static Vector128 Sqrt(Vector128 value) { throw null; } public static Vector128 Sqrt(Vector128 value) { throw null; } - public static Vector128 Ceiling(Vector128 value) { throw null; } + public static Vector128 Ceiling(Vector128 value) { throw null; } public static Vector128 Ceiling(Vector128 value) { throw null; } - public static Vector128 Floor(Vector128 value) { throw null; } + public static Vector128 Floor(Vector128 value) { throw null; } public static Vector128 Floor(Vector128 value) { throw null; } - public static Vector128 Truncate(Vector128 value) { throw null; } + public static Vector128 Truncate(Vector128 value) { throw null; } public static Vector128 Truncate(Vector128 value) { throw null; } - public static Vector128 RoundToNearest(Vector128 value) { throw null; } + public static Vector128 RoundToNearest(Vector128 value) { throw null; } public static Vector128 RoundToNearest(Vector128 value) { throw null; } - public static Vector128 ConvertToSingle(Vector128 value) { throw null; } - public static Vector128 ConvertToSingle(Vector128 value) { throw null; } + public static Vector128 ConvertToSingle(Vector128 value) { throw null; } + public static Vector128 ConvertToSingle(Vector128 value) { throw null; } public static Vector128 ConvertToSingle(Vector128 value) { throw null; } - public static Vector128 ConvertToDoubleLower(Vector128 value) { throw null; } - public static Vector128 ConvertToDoubleLower(Vector128 value) { throw null; } + public static Vector128 ConvertToDoubleLower(Vector128 value) { throw null; } + public static Vector128 ConvertToDoubleLower(Vector128 value) { throw null; } public static Vector128 ConvertToDoubleLower(Vector128 value) { throw null; } - public static Vector128 ConvertToInt32Saturate(Vector128 value) { throw null; } + public static Vector128 ConvertToInt32Saturate(Vector128 value) { throw null; } public static Vector128 ConvertToUInt32Saturate(Vector128 value) { throw null; } - public static Vector128 ConvertToInt32Saturate(Vector128 value) { throw null; } + public static Vector128 ConvertToInt32Saturate(Vector128 value) { throw null; } public static Vector128 ConvertToUInt32Saturate(Vector128 value) { throw null; } - public static Vector128 ConvertNarrowingSaturateSigned(Vector128 lower, Vector128 upper) { throw null; } - public static Vector128 ConvertNarrowingSaturateSigned(Vector128 lower, Vector128 upper) { throw null; } - public static Vector128 ConvertNarrowingSaturateUnsigned(Vector128 lower, Vector128 upper) { throw null; } - public static Vector128 ConvertNarrowingSaturateUnsigned(Vector128 lower, Vector128 upper) { throw null; } - public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } - public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 ConvertNarrowingSaturateSigned(Vector128 lower, Vector128 upper) { throw null; } + public static Vector128 ConvertNarrowingSaturateSigned(Vector128 lower, Vector128 upper) { throw null; } + public static Vector128 ConvertNarrowingSaturateUnsigned(Vector128 lower, Vector128 upper) { throw null; } + public static Vector128 ConvertNarrowingSaturateUnsigned(Vector128 lower, Vector128 upper) { throw null; } + public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 SignExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningLower(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } + public static Vector128 ZeroExtendWideningUpper(Vector128 value) { throw null; } } } diff --git a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs index e6cd15bcb1d491..e7a5153a0c6da8 100644 --- a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs +++ b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs @@ -68,7 +68,7 @@ break; } }"; - + const string SimpleVecOpTest_ValidationLogicForCndSel = @"for (var i = 0; i < RetElementCount; i++) { @@ -320,7 +320,7 @@ ("_SveBinaryOpTestTemplate.template", "SveVecBinOpVecTest.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleVecOpTest_VectorValidationLogic, ["TemplateValidationLogicForCndSel"] = SimpleVecOpTest_VectorValidationLogicForCndSel, ["TemplateValidationLogicForCndSel_FalseValue"] = SimpleVecOpTest_VectorValidationLogicForCndSel_FalseValue }), ("_SveBinaryOpTestTemplate.template", "SveVecBinOpConvertTest.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleVecOpTest_ValidationLogic, ["TemplateValidationLogicForCndSel"] = SimpleTernVecOpTest_ValidationLogicForCndSel, ["TemplateValidationLogicForCndSel_FalseValue"] = SimpleTernVecOpTest_ValidationLogicForCndSel_FalseValue }), ("_SveMasklessBinaryOpTestTemplate.template", "SveVecBinOpTestScalarRet.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleScalarOpTest_ValidationLogic }), - ("_SveBinaryRetMaskOpTestTemplate.template", "SveVecBinRetMaskOpConvertTest.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleVecOpTest_ValidationLogic, ["TemplateValidationLogicForCndSel"] = SimpleTernVecOpTest_ValidationLogicForCndSel, ["TemplateValidationLogicForCndSel_FalseValue"] = SimpleTernVecOpTest_ValidationLogicForCndSel_FalseValue, ["TemplateValidationLogicForCndSelMask"] = SimpleVecOpTest_ValidationLogicForCndSelMask }), + ("_SveBinaryRetMaskOpTestTemplate.template", "SveVecBinRetMaskOpConvertTest.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleVecOpTest_ValidationLogic, ["TemplateValidationLogicForCndSel"] = SimpleTernVecOpTest_ValidationLogicForCndSel, ["TemplateValidationLogicForCndSel_FalseValue"] = SimpleTernVecOpTest_ValidationLogicForCndSel_FalseValue, ["TemplateValidationLogicForCndSelMask"] = SimpleVecOpTest_ValidationLogicForCndSelMask }), ("_SveBinaryOpDifferentTypesTestTemplate.template", "SveVecBinOpDifferentTypesTest.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleVecOpTest_ValidationLogic, ["TemplateValidationLogicForCndSel"] = SimpleVecOpTest_ValidationLogicForCndSel, ["TemplateValidationLogicForCndSel_FalseValue"] = SimpleVecOpTest_ValidationLogicForCndSel_FalseValue }), ("_SveBinaryMaskOpTestTemplate.template", "SveMaskVecBinOpConvertTest.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleVecOpTest_ValidationLogic, ["TemplateValidationLogicForCndSel"] = SimpleVecOpTest_ValidationLogicForCndSel, ["TemplateValidationLogicForCndSel_FalseValue"] = SimpleVecOpTest_ValidationLogicForCndSel_FalseValue }), ("_SveImmBinaryOpTestTemplate.template", "SveVecImmBinOpTest.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleVecOpTest_ValidationLogic, ["TemplateValidationLogicForCndSel"] = SimpleVecOpTest_ValidationLogicForCndSel, ["TemplateValidationLogicForCndSel_FalseValue"] = SimpleVecOpTest_ValidationLogicForCndSel_FalseValue }), @@ -345,7 +345,7 @@ ("_SveStoreTemplate.template", "SveStoreNonTemporalTest.template", new Dictionary { ["TemplateName"] = "Simple", ["TemplateValidationLogic"] = SimpleVecOpTest_ValidationLogic }), }; -(string templateFileName, Dictionary templateData)[] AdvSimdInputs = new [] +(string templateFileName, Dictionary templateData)[] AdvSimdInputs = new[] { ("SimpleVecOpTest.template", new Dictionary { ["TestName"] = "Abs_Vector64_Int16", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Abs", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "(short)-TestLibrary.Generator.GetInt16()", ["ValidateIterResult"] = "Helpers.Abs(firstOp[i]) != result[i]"}), ("SimpleVecOpTest.template", new Dictionary { ["TestName"] = "Abs_Vector64_Int32", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Abs", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "Helpers.Abs(firstOp[i]) != result[i]"}), @@ -1045,7 +1045,7 @@ ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64Short", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 4] || result3[i] != input[i + 4 * 2] || result4[i] != input[i + 4 * 3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64UInt32", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 2] || result3[i] != input[i + 2 * 2] || result4[i] != input[i + 2 * 3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64Int32", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 2] || result3[i] != input[i + 2 * 2] || result4[i] != input[i + 2 * 3]"}), - ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64Float", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 2] || result3[i] != input[i + 2 * 2] || result4[i] != input[i + 2 * 3]"}), + ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64Float", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 2] || result3[i] != input[i + 2 * 2] || result4[i] != input[i + 2 * 3]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "Load2xVector64AndUnzipSByte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load2xVector64AndUnzip", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "SByte", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["ValidateIterResult"] = "result1[i] != input[i * 2] || result2[i] != input[(i * 2) + 1]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "Load2xVector64AndUnzipByte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load2xVector64AndUnzip", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "result1[i] != input[i * 2] || result2[i] != input[(i * 2) + 1]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "Load2xVector64AndUnzipUShort", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load2xVector64AndUnzip", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ValidateIterResult"] = "result1[i] != input[i * 2] || result2[i] != input[(i * 2) + 1]"}), @@ -1066,7 +1066,7 @@ ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64AndUnzipShort", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64AndUnzip", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64AndUnzipUInt32", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64AndUnzip", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64AndUnzipInt32", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64AndUnzip", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), - ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64AndUnzipFloat", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64AndUnzip", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), + ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector64AndUnzipFloat", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector64AndUnzip", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "8", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), ("VecBinOpTest.template", new Dictionary { ["TestName"] = "Max_Vector64_Byte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Max", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "Helpers.Max(left[i], right[i]) != result[i]"}), ("VecBinOpTest.template", new Dictionary { ["TestName"] = "Max_Vector64_Int16", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Max", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ValidateIterResult"] = "Helpers.Max(left[i], right[i]) != result[i]"}), ("VecBinOpTest.template", new Dictionary { ["TestName"] = "Max_Vector64_Int32", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Max", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int32", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "Helpers.Max(left[i], right[i]) != result[i]"}), @@ -2092,7 +2092,7 @@ ("VectorLookupExtension_3Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension3_Vector64_Byte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "(Byte)(TestLibrary.Generator.GetByte() % 60)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), ("VectorLookupExtension_3Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension3_Vector64_SByte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "(SByte)(TestLibrary.Generator.GetSByte() % 60)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), ("VectorLookupExtension_4Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension4_Vector64_Byte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "(Byte)(TestLibrary.Generator.GetByte() % 80)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), - ("VectorLookupExtension_4Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension4_Vector64_SByte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "(SByte)(TestLibrary.Generator.GetSByte() % 80)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), + ("VectorLookupExtension_4Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension4_Vector64_SByte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "(SByte)(TestLibrary.Generator.GetSByte() % 80)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), ("VecBinOpTest.template", new Dictionary { ["TestName"] = "Xor_Vector64_Byte", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Xor", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "Helpers.Xor(left[i], right[i]) != result[i]"}), ("VecBinOpTest.template", new Dictionary { ["TestName"] = "Xor_Vector64_Double", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Xor", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Double", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "BitConverter.DoubleToInt64Bits(Helpers.Xor(left[i], right[i])) != BitConverter.DoubleToInt64Bits(result[i])"}), ("VecBinOpTest.template", new Dictionary { ["TestName"] = "Xor_Vector64_Int16", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "Xor", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ValidateIterResult"] = "Helpers.Xor(left[i], right[i]) != result[i]"}), @@ -2127,7 +2127,7 @@ ("SimpleVecOpTest.template", new Dictionary { ["TestName"] = "ZeroExtendWideningUpper_Vector128_UInt32", ["Isa"] = "AdvSimd", ["LoadIsa"] = "AdvSimd", ["Method"] = "ZeroExtendWideningUpper", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateIterResult"] = "Helpers.ZeroExtendWideningUpper(firstOp, i) != result[i]"}) }; -(string templateFileName, Dictionary templateData)[] AdvSimd_Arm64Inputs = new [] +(string templateFileName, Dictionary templateData)[] AdvSimd_Arm64Inputs = new[] { ("SimpleVecOpTest.template", new Dictionary { ["TestName"] = "Abs_Vector128_Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Abs", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "-TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "BitConverter.DoubleToInt64Bits(Helpers.Abs(firstOp[i])) != BitConverter.DoubleToInt64Bits(result[i])"}), ("SimpleVecOpTest.template", new Dictionary { ["TestName"] = "Abs_Vector128_Int64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Abs", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "-TestLibrary.Generator.GetInt64()", ["ValidateIterResult"] = "Helpers.Abs(firstOp[i]) != result[i]"}), @@ -2374,7 +2374,7 @@ ("LoadAndInsertScalarx2Test.template", new Dictionary { ["TestName"] = "LoadAndInsertScalar_Vector128x2_Int64_0", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndInsertScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["ElementIndex"] = "0", ["NextValueOp3"] = "TestLibrary.Generator.GetInt64()", ["ValidateIterResult"] = "(Helpers.Insert(input1, ElementIndex, newData[0], i) != result1[i]) || (Helpers.Insert(input2, ElementIndex, newData[1], i) != result2[i])"}), ("LoadAndInsertScalarx2Test.template", new Dictionary { ["TestName"] = "LoadAndInsertScalar_Vector128x2_UInt64_1", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndInsertScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["ElementIndex"] = "1", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "(Helpers.Insert(input1, ElementIndex, newData[0], i) != result1[i]) || (Helpers.Insert(input2, ElementIndex, newData[1], i) != result2[i])"}), ("LoadAndInsertScalarx2Test.template", new Dictionary { ["TestName"] = "LoadAndInsertScalar_Vector128x2_Single_1", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndInsertScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ElementIndex"] = "1", ["NextValueOp3"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "(BitConverter.SingleToInt32Bits(Helpers.Insert(input1, ElementIndex, newData[0], i)) != BitConverter.SingleToInt32Bits(result1[i])) || (BitConverter.SingleToInt32Bits(Helpers.Insert(input2, ElementIndex, newData[1], i)) != BitConverter.SingleToInt32Bits(result2[i]))"}), - ("LoadAndInsertScalarx2Test.template", new Dictionary { ["TestName"] = "LoadAndInsertScalar_Vector128x2_Double_1", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndInsertScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ElementIndex"] = "1", ["NextValueOp3"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "(BitConverter.DoubleToInt64Bits(Helpers.Insert(input1, ElementIndex, newData[0], i)) != BitConverter.DoubleToInt64Bits(result1[i])) || (BitConverter.DoubleToInt64Bits(Helpers.Insert(input2, ElementIndex, newData[1], i)) != BitConverter.DoubleToInt64Bits(result2[i]))"}), + ("LoadAndInsertScalarx2Test.template", new Dictionary { ["TestName"] = "LoadAndInsertScalar_Vector128x2_Double_1", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndInsertScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ElementIndex"] = "1", ["NextValueOp3"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "(BitConverter.DoubleToInt64Bits(Helpers.Insert(input1, ElementIndex, newData[0], i)) != BitConverter.DoubleToInt64Bits(result1[i])) || (BitConverter.DoubleToInt64Bits(Helpers.Insert(input2, ElementIndex, newData[1], i)) != BitConverter.DoubleToInt64Bits(result2[i]))"}), ("LoadAndInsertScalarx3Test.template", new Dictionary { ["TestName"] = "LoadAndInsertScalar_Vector128x3_Byte_7", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndInsertScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["ElementIndex"] = "7", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "(Helpers.Insert(input1, ElementIndex, newData[0], i) != result1[i]) || (Helpers.Insert(input2, ElementIndex, newData[1], i) != result2[i]) || (Helpers.Insert(input3, ElementIndex, newData[2], i) != result3[i])"}), ("LoadAndInsertScalarx3Test.template", new Dictionary { ["TestName"] = "LoadAndInsertScalar_Vector128x3_SByte_7", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndInsertScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["ElementIndex"] = "7", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ValidateIterResult"] = "(Helpers.Insert(input1, ElementIndex, newData[0], i) != result1[i]) || (Helpers.Insert(input2, ElementIndex, newData[1], i) != result2[i]) || (Helpers.Insert(input3, ElementIndex, newData[2], i) != result3[i])"}), ("LoadAndInsertScalarx3Test.template", new Dictionary { ["TestName"] = "LoadAndInsertScalar_Vector128x3_Int16_3", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndInsertScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["ElementIndex"] = "3", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ValidateIterResult"] = "(Helpers.Insert(input1, ElementIndex, newData[0], i) != result1[i]) || (Helpers.Insert(input2, ElementIndex, newData[1], i) != result2[i]) || (Helpers.Insert(input3, ElementIndex, newData[2], i) != result3[i])"}), @@ -2404,9 +2404,9 @@ ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x2UInt32", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x2", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x2Int32", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x2", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x2Int64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x2", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetInt64()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1]"}), - ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x2UInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x2", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1]"}), + ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x2UInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x2", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x2Float", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x2", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1]"}), - ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x2Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x2", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1]"}), + ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x2Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x2", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1]"}), ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3SByte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3Byte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3UShort", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), @@ -2414,9 +2414,9 @@ ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3UInt32", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3Int32", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3Int64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetInt64()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), - ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3UInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), + ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3UInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3Float", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), - ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), + ("LoadVectorx3Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x3Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x3", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4SByte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4Byte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4UShort", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), @@ -2425,8 +2425,8 @@ ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4Int32", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4Int64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetInt64()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4UInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), - ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4Float", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), - ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), + ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4Float", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), + ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "LoadAndReplicateToVector128x4Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "LoadAndReplicateToVector128x4", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[0] || result2[i] != input[1] || result3[i] != input[2] || result4[i] != input[3]"}), ("LoadPairVectorTest.template", new Dictionary { ["TestName"] = "LoadPairScalarVector64_Int32", ["Isa"] = "AdvSimd.Arm64", ["Method"] = "LoadPairScalarVector64", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "Helpers.LoadPairScalar(firstOp, i) != result[i]"}), ("LoadPairVectorTest.template", new Dictionary { ["TestName"] = "LoadPairScalarVector64_Single", ["Isa"] = "AdvSimd.Arm64", ["Method"] = "LoadPairScalarVector64", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "BitConverter.SingleToInt32Bits(Helpers.LoadPairScalar(firstOp, i)) != BitConverter.SingleToInt32Bits(result[i])"}), ("LoadPairVectorTest.template", new Dictionary { ["TestName"] = "LoadPairScalarVector64_UInt32", ["Isa"] = "AdvSimd.Arm64", ["Method"] = "LoadPairScalarVector64", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateIterResult"] = "Helpers.LoadPairScalar(firstOp, i) != result[i]"}), @@ -2502,7 +2502,7 @@ ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128UInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 2] || result3[i] != input[i + 2 * 2] || result4[i] != input[i + 2 * 3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128Int64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetInt64()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 2] || result3[i] != input[i + 2 * 2] || result4[i] != input[i + 2 * 3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128Float", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 4] || result3[i] != input[i + 4 * 2] || result4[i] != input[i + 4 * 3]"}), - ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 2] || result3[i] != input[i + 2 * 2] || result4[i] != input[i + 2 * 3]"}), + ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[i] || result2[i] != input[i + 2] || result3[i] != input[i + 2 * 2] || result4[i] != input[i + 2 * 3]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "Load2xVector128AndUnzipSByte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load2xVector128AndUnzip", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["ValidateIterResult"] = "result1[i] != input[i * 2] || result2[i] != input[(i * 2) + 1]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "Load2xVector128AndUnzipByte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load2xVector128AndUnzip", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "result1[i] != input[i * 2] || result2[i] != input[(i * 2) + 1]"}), ("LoadVectorx2Test.template", new Dictionary { ["TestName"] = "Load2xVector128AndUnzipUShort", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load2xVector128AndUnzip", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ValidateIterResult"] = "result1[i] != input[i * 2] || result2[i] != input[(i * 2) + 1]"}), @@ -2532,7 +2532,7 @@ ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128AndUnzipUInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128AndUnzip", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128AndUnzipInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128AndUnzip", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetInt64()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128AndUnzipFloat", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128AndUnzip", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "float", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), - ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128AndUnzipDouble", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128AndUnzip", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), + ("LoadVectorx4Test.template", new Dictionary { ["TestName"] = "Load4xVector128AndUnzipDouble", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Load4xVector128AndUnzip", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "double", ["LargestVectorSize"] = "16", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "result1[i] != input[i * 4] || result2[i] != input[(i * 4) + 1] || result3[i] != input[(i * 4) + 2] || result4[i] != input[(i * 4) + 3]"}), ("VecBinOpTest.template", new Dictionary { ["TestName"] = "Max_Vector128_Double", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "Max", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "BitConverter.DoubleToInt64Bits(Helpers.Max(left[i], right[i])) != BitConverter.DoubleToInt64Bits(result[i])"}), ("VecReduceUnOpTest.template", new Dictionary { ["TestName"] = "MaxAcross_Vector64_Byte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "MaxAcross", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["ValidateReduceOpResult"] = "Helpers.MaxAcross(firstOp) != result[0]", ["ValidateRemainingResults"] = "result[i] != 0"}), ("VecReduceUnOpTest.template", new Dictionary { ["TestName"] = "MaxAcross_Vector64_Int16", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "MaxAcross", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["ValidateReduceOpResult"] = "Helpers.MaxAcross(firstOp) != result[0]", ["ValidateRemainingResults"] = "result[i] != 0"}), @@ -2913,7 +2913,7 @@ ("VectorLookupExtension_3Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension3_Vector128_Byte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "(Byte)(TestLibrary.Generator.GetByte() % 60)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), ("VectorLookupExtension_3Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension3_Vector128_SByte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "(SByte)(TestLibrary.Generator.GetSByte() % 60)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), ("VectorLookupExtension_4Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension4_Vector128_Byte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "(Byte)(TestLibrary.Generator.GetByte() % 80)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), - ("VectorLookupExtension_4Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension4_Vector128_SByte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "(SByte)(TestLibrary.Generator.GetSByte() % 80)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), + ("VectorLookupExtension_4Test.template", new Dictionary { ["TestName"] = "VectorTableLookupExtension4_Vector128_SByte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "VectorTableLookupExtension", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "16", ["NextValueOp0"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "(SByte)(TestLibrary.Generator.GetSByte() % 80)", ["ValidateIterResult"] = "Helpers.TableVectorExtension(i, defaultValues, indices, table) != result[i]"}), ("VecPairBinOpTest.template", new Dictionary { ["TestName"] = "UnzipEven_Vector64_Byte", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "UnzipEven", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidateEntry"] = "result[index] != left[i] || result[index + half] != right[i]"}), ("VecPairBinOpTest.template", new Dictionary { ["TestName"] = "UnzipEven_Vector64_Int16", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "UnzipEven", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ValidateEntry"] = "result[index] != left[i] || result[index + half] != right[i]"}), ("VecPairBinOpTest.template", new Dictionary { ["TestName"] = "UnzipEven_Vector64_Int32", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "UnzipEven", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int32", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ValidateEntry"] = "result[index] != left[i] || result[index + half] != right[i]"}), @@ -2984,7 +2984,7 @@ ("VecPairBinOpTest.template", new Dictionary { ["TestName"] = "ZipLow_Vector128_UInt64", ["Isa"] = "AdvSimd.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "ZipLow", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateEntry"] = "result[i] != left[index] || result[i+1] != right[index]"}), }; -(string templateFileName, Dictionary templateData)[] AesInputs = new [] +(string templateFileName, Dictionary templateData)[] AesInputs = new[] { ("AesBinOpTest.template", new Dictionary { ["TestName"] = "Decrypt_Vector128_Byte", ["Isa"] = "Aes", ["LoadIsa"] = "AdvSimd", ["Method"] = "Decrypt", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["InputSize"] = "16", ["Input"] = "{0xEF, 0xCD, 0xAB, 0x89, 0x67, 0x45, 0x23, 0x01, 0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA, 0x99, 0x88}", ["KeySize"] = "16", ["Key"] = "{0xFF, 0xDD, 0xBB, 0x99, 0x77, 0x55, 0x33, 0x11, 0xEE, 0xCC, 0xAA, 0x88, 0x66, 0x44, 0x22, 0x00}", ["ExpectedRetSize"] = "16", ["ExpectedRet"] = "{0x7C, 0x99, 0x02, 0x7C, 0x7C, 0x7C, 0xFE, 0x86, 0xE3, 0x7C, 0x7C, 0x97, 0xC9, 0x94, 0x7C, 0x7C}"}), ("AesBinOpTest.template", new Dictionary { ["TestName"] = "Encrypt_Vector128_Byte", ["Isa"] = "Aes", ["LoadIsa"] = "AdvSimd", ["Method"] = "Encrypt", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["InputSize"] = "16", ["Input"] = "{0xEF, 0xCD, 0xAB, 0x89, 0x67, 0x45, 0x23, 0x01, 0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA, 0x99, 0x88}", ["KeySize"] = "16", ["Key"] = "{0xFF, 0xDD, 0xBB, 0x99, 0x77, 0x55, 0x33, 0x11, 0xEE, 0xCC, 0xAA, 0x88, 0x66, 0x44, 0x22, 0x00}", ["ExpectedRetSize"] = "16", ["ExpectedRet"] = "{0xCA, 0xCA, 0xF5, 0xC4, 0xCA, 0x93, 0xEA, 0xCA, 0x82, 0x28, 0xCA, 0xCA, 0xC1, 0xCA, 0xCA, 0x1B}"}), @@ -2996,7 +2996,7 @@ ("SimpleBinOpTest.template", new Dictionary { ["TestName"] = "PolynomialMultiplyWideningUpper_Vector128_UInt64", ["Isa"] = "Aes", ["LoadIsa"] = "AdvSimd", ["Method"] = "PolynomialMultiplyWideningUpper", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidateFirstResult"] = "Helpers.PolynomialMultiplyWideningLo64(left[1], right[1]) != result[0]", ["ValidateRemainingResults"] = "Helpers.PolynomialMultiplyWideningHi64(left[1], right[1]) != result[1]"}) }; -(string templateFileName, Dictionary templateData)[] ArmBaseInputs = new [] +(string templateFileName, Dictionary templateData)[] ArmBaseInputs = new[] { ("ScalarUnOpTest.template", new Dictionary { ["TestName"] = "LeadingZeroCount_Int32", ["Isa"] = "ArmBase", ["Method"] = "LeadingZeroCount", ["RetBaseType"] = "Int32", ["Op1BaseType"] = "Int32", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateResult"] = "int expectedResult = 0; for (int index = 31; (((uint)data >> index) & 1) == 0; index--) { expectedResult++; } isUnexpectedResult = (expectedResult != result);" }), ("ScalarUnOpTest.template", new Dictionary { ["TestName"] = "LeadingZeroCount_UInt32", ["Isa"] = "ArmBase", ["Method"] = "LeadingZeroCount", ["RetBaseType"] = "Int32", ["Op1BaseType"] = "UInt32", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateResult"] = "int expectedResult = 0; for (int index = 31; ((data >> index) & 1) == 0; index--) { expectedResult++; } isUnexpectedResult = (expectedResult != result);" }), @@ -3004,7 +3004,7 @@ ("ScalarUnOpTest.template", new Dictionary { ["TestName"] = "ReverseElementBits_UInt32", ["Isa"] = "ArmBase", ["Method"] = "ReverseElementBits", ["RetBaseType"] = "UInt32", ["Op1BaseType"] = "UInt32", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateResult"] = "isUnexpectedResult = Helpers.ReverseElementBits(data) != result;" }), }; -(string templateFileName, Dictionary templateData)[] ArmBase_Arm64Inputs = new [] +(string templateFileName, Dictionary templateData)[] ArmBase_Arm64Inputs = new[] { ("ScalarUnOpTest.template", new Dictionary { ["TestName"] = "LeadingSignCount_Int32", ["Isa"] = "ArmBase.Arm64", ["Method"] = "LeadingSignCount", ["RetBaseType"] = "Int32", ["Op1BaseType"] = "Int32", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateResult"] = "int expectedResult = 0; for (int index = 30; (((uint)data >> index) & 1) == (((uint)data >> 31) & 1); index--) { expectedResult++; } isUnexpectedResult = (expectedResult != result);" }), ("ScalarUnOpTest.template", new Dictionary { ["TestName"] = "LeadingSignCount_Int64", ["Isa"] = "ArmBase.Arm64", ["Method"] = "LeadingSignCount", ["RetBaseType"] = "Int32", ["Op1BaseType"] = "Int64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["ValidateResult"] = "int expectedResult = 0; for (int index = 62; (((ulong)data >> index) & 1) == (((ulong)data >> 63) & 1); index--) { expectedResult++; } isUnexpectedResult = (expectedResult != result);" }), @@ -3016,7 +3016,7 @@ ("ScalarUnOpTest.template", new Dictionary { ["TestName"] = "ReverseElementBits_UInt64", ["Isa"] = "ArmBase.Arm64", ["Method"] = "ReverseElementBits", ["RetBaseType"] = "UInt64", ["Op1BaseType"] = "UInt64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["ValidateResult"] = "isUnexpectedResult = Helpers.ReverseElementBits(data) != result;" }), }; -(string templateFileName, Dictionary templateData)[] Crc32Inputs = new [] +(string templateFileName, Dictionary templateData)[] Crc32Inputs = new[] { ("ScalarBinOpTest.template", new Dictionary { ["TestName"] = "ComputeCrc32_Byte", ["Isa"] = "Crc32", ["Method"] = "ComputeCrc32", ["RetBaseType"] = "UInt32", ["Op1BaseType"] = "UInt32", ["Op2BaseType"] = "Byte", ["NextValueOp1"] = "0xFFFFFFFF", ["NextValueOp2"] = "0x20", ["ValidateResult"] = "uint expectedResult = 0x169330BA; isUnexpectedResult = (expectedResult != result);" }), ("ScalarBinOpTest.template", new Dictionary { ["TestName"] = "ComputeCrc32_UInt16", ["Isa"] = "Crc32", ["Method"] = "ComputeCrc32", ["RetBaseType"] = "UInt32", ["Op1BaseType"] = "UInt32", ["Op2BaseType"] = "UInt16", ["NextValueOp1"] = "0xFFFFFFFF", ["NextValueOp2"] = "0x2019", ["ValidateResult"] = "uint expectedResult = 0x1E4864D0; isUnexpectedResult = (expectedResult != result);" }), @@ -3026,13 +3026,13 @@ ("ScalarBinOpTest.template", new Dictionary { ["TestName"] = "ComputeCrc32C_UInt32", ["Isa"] = "Crc32", ["Method"] = "ComputeCrc32C", ["RetBaseType"] = "UInt32", ["Op1BaseType"] = "UInt32", ["Op2BaseType"] = "UInt32", ["NextValueOp1"] = "0xFFFFFFFF", ["NextValueOp2"] = "0x20191113", ["ValidateResult"] = "uint expectedResult = 0x78F34758; isUnexpectedResult = (expectedResult != result);" }), }; -(string templateFileName, Dictionary templateData)[] Crc32_Arm64Inputs = new [] +(string templateFileName, Dictionary templateData)[] Crc32_Arm64Inputs = new[] { ("ScalarBinOpTest.template", new Dictionary { ["TestName"] = "ComputeCrc32_UInt64", ["Isa"] = "Crc32.Arm64", ["Method"] = "ComputeCrc32", ["RetBaseType"] = "UInt32", ["Op1BaseType"] = "UInt32", ["Op2BaseType"] = "UInt64", ["NextValueOp1"] = "0xFFFFFFFF", ["NextValueOp2"] = "0x20191113110219UL", ["ValidateResult"] = "uint expectedResult = 0xEFAAAB74; isUnexpectedResult = (expectedResult != result);" }), ("ScalarBinOpTest.template", new Dictionary { ["TestName"] = "ComputeCrc32C_UInt64", ["Isa"] = "Crc32.Arm64", ["Method"] = "ComputeCrc32C", ["RetBaseType"] = "UInt32", ["Op1BaseType"] = "UInt32", ["Op2BaseType"] = "UInt64", ["NextValueOp1"] = "0xFFFFFFFF", ["NextValueOp2"] = "0x20191113110219UL", ["ValidateResult"] = "uint expectedResult = 0x6295C71A; isUnexpectedResult = (expectedResult != result);" }), }; -(string templateFileName, Dictionary templateData)[] DpInputs = new [] +(string templateFileName, Dictionary templateData)[] DpInputs = new[] { ("VecTernOpTest.template", new Dictionary { ["TestName"] = "DotProduct_Vector64_Int32", ["Isa"] = "Dp", ["LoadIsa"] = "AdvSimd", ["Method"] = "DotProduct", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "SByte", ["Op3VectorType"] = "Vector64", ["Op3BaseType"] = "SByte", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ValidateIterResult"] = "Helpers.DotProduct(firstOp[i], secondOp, 4 * i, thirdOp, 4 * i) != result[i]"}), ("VecTernOpTest.template", new Dictionary { ["TestName"] = "DotProduct_Vector64_UInt32", ["Isa"] = "Dp", ["LoadIsa"] = "AdvSimd", ["Method"] = "DotProduct", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector64", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "Helpers.DotProduct(firstOp[i], secondOp, 4 * i, thirdOp, 4 * i) != result[i]"}), @@ -3048,7 +3048,7 @@ ("VecImmTernOpTest.template", new Dictionary { ["TestName"] = "DotProductBySelectedQuadruplet_Vector128_UInt32_Vector128_Byte_3", ["Isa"] = "Dp", ["LoadIsa"] = "AdvSimd", ["Method"] = "DotProductBySelectedQuadruplet", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["Imm"] = "3", ["ValidateIterResult"] = "Helpers.DotProduct(firstOp[i], secondOp, 4 * i, thirdOp, 4 * Imm) != result[i]"}), }; -(string templateFileName, Dictionary templateData)[] RdmInputs = new [] +(string templateFileName, Dictionary templateData)[] RdmInputs = new[] { ("VecTernOpTest.template", new Dictionary { ["TestName"] = "MultiplyRoundedDoublingAndAddSaturateHigh_Vector64_Int16", ["Isa"] = "Rdm", ["LoadIsa"] = "AdvSimd", ["Method"] = "MultiplyRoundedDoublingAndAddSaturateHigh", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector64", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ValidateIterResult"] = "Helpers.MultiplyRoundedDoublingAndAddSaturateHigh(firstOp[i], secondOp[i], thirdOp[i]) != result[i]"}), ("VecTernOpTest.template", new Dictionary { ["TestName"] = "MultiplyRoundedDoublingAndAddSaturateHigh_Vector64_Int32", ["Isa"] = "Rdm", ["LoadIsa"] = "AdvSimd", ["Method"] = "MultiplyRoundedDoublingAndAddSaturateHigh", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector64", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ValidateIterResult"] = "Helpers.MultiplyRoundedDoublingAndAddSaturateHigh(firstOp[i], secondOp[i], thirdOp[i]) != result[i]"}), @@ -3076,7 +3076,7 @@ ("VecImmTernOpTest.template", new Dictionary { ["TestName"] = "MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh_Vector128_Int32_Vector128_Int32_3", ["Isa"] = "Rdm", ["LoadIsa"] = "AdvSimd", ["Method"] = "MultiplyRoundedDoublingBySelectedScalarAndSubtractSaturateHigh", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["Imm"] = "3", ["ValidateIterResult"] = "Helpers.MultiplyRoundedDoublingAndSubtractSaturateHigh(firstOp[i], secondOp[i], thirdOp[Imm]) != result[i]"}), }; -(string templateFileName, Dictionary templateData)[] Rdm_Arm64Inputs = new [] +(string templateFileName, Dictionary templateData)[] Rdm_Arm64Inputs = new[] { ("SimpleTernOpTest.template", new Dictionary { ["TestName"] = "MultiplyRoundedDoublingAndAddSaturateHighScalar_Vector64_Int16", ["Isa"] = "Rdm.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "MultiplyRoundedDoublingAndAddSaturateHighScalar", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector64", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ValidateFirstResult"] = "Helpers.MultiplyRoundedDoublingAndAddSaturateHigh(firstOp[0], secondOp[0], thirdOp[0]) != result[0]", ["ValidateRemainingResults"] = "result[i] != 0"}), ("SimpleTernOpTest.template", new Dictionary { ["TestName"] = "MultiplyRoundedDoublingAndAddSaturateHighScalar_Vector64_Int32", ["Isa"] = "Rdm.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "MultiplyRoundedDoublingAndAddSaturateHighScalar", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector64", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "Helpers.MultiplyRoundedDoublingAndAddSaturateHigh(firstOp[0], secondOp[0], thirdOp[0]) != result[0]", ["ValidateRemainingResults"] = "result[i] != 0"}), @@ -3092,7 +3092,7 @@ ("SimpleImmTernOpTest.template", new Dictionary { ["TestName"] = "MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh_Vector64_Int32_Vector128_Int32_3", ["Isa"] = "Rdm.Arm64", ["LoadIsa"] = "AdvSimd", ["Method"] = "MultiplyRoundedDoublingScalarBySelectedScalarAndSubtractSaturateHigh", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["Imm"] = "3", ["ValidateFirstResult"] = "Helpers.MultiplyRoundedDoublingAndSubtractSaturateHigh(firstOp[0], secondOp[0], thirdOp[Imm]) != result[0]", ["ValidateRemainingResults"] = "result[i] != 0"}), }; -(string templateFileName, Dictionary templateData)[] Sha1Inputs = new [] +(string templateFileName, Dictionary templateData)[] Sha1Inputs = new[] { ("SecureHashUnOpTest.template", new Dictionary { ["TestName"] = "FixedRotate_Vector64_UInt32", ["Isa"] = "Sha1", ["LoadIsa"] = "AdvSimd", ["Method"] = "FixedRotate", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "0x00112233", ["ExpectedResult"] = "{0xC004488C, 0x0, 0x0, 0x0}"}), ("SecureHashTernOpTest.template", new Dictionary { ["TestName"] = "HashUpdateChoose_Vector128_UInt32", ["Isa"] = "Sha1", ["LoadIsa"] = "AdvSimd", ["Method"] = "HashUpdateChoose", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector64", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "0x00112233", ["NextValueOp2"] = "0x44556677", ["NextValueOp3"] = "0x8899AABB", ["ExpectedResult"] = "{0x27A38C6D, 0xEFEFCA67, 0xDB4E8169, 0x73C91E71}"}), @@ -3102,7 +3102,7 @@ ("SecureHashBinOpTest.template", new Dictionary { ["TestName"] = "ScheduleUpdate1_Vector128_UInt32", ["Isa"] = "Sha1", ["LoadIsa"] = "AdvSimd", ["Method"] = "ScheduleUpdate1", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "0x00112233", ["NextValueOp2"] = "0x44556677", ["ExpectedResult"] = "{0x88888888, 0x88888888, 0x88888888, 0x11335577}"}), }; -(string templateFileName, Dictionary templateData)[] Sha256Inputs = new [] +(string templateFileName, Dictionary templateData)[] Sha256Inputs = new[] { ("SecureHashTernOpTest.template", new Dictionary { ["TestName"] = "HashUpdate1_Vector128_UInt32", ["Isa"] = "Sha256", ["LoadIsa"] = "AdvSimd", ["Method"] = "HashUpdate1", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "0x00112233", ["NextValueOp2"] = "0x44556677", ["NextValueOp3"] = "0x8899AABB", ["ExpectedResult"] = "{0x3D22118E, 0x987CA5FB, 0x54F4E477, 0xDFB50278}"}), ("SecureHashTernOpTest.template", new Dictionary { ["TestName"] = "HashUpdate2_Vector128_UInt32", ["Isa"] = "Sha256", ["LoadIsa"] = "AdvSimd", ["Method"] = "HashUpdate2", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "0x00112233", ["NextValueOp2"] = "0x44556677", ["NextValueOp3"] = "0x8899AABB", ["ExpectedResult"] = "{0xFFD38634, 0x2A33F83F, 0x55A1BE45, 0x5002B4C4}"}), @@ -3110,7 +3110,7 @@ ("SecureHashTernOpTest.template", new Dictionary { ["TestName"] = "ScheduleUpdate1_Vector128_UInt32", ["Isa"] = "Sha256", ["LoadIsa"] = "AdvSimd", ["Method"] = "ScheduleUpdate1", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "0x00112233", ["NextValueOp2"] = "0x44556677", ["NextValueOp3"] = "0x8899AABB", ["ExpectedResult"] = "{0x248F1BDF, 0x248F1BDF, 0xB303DDBA, 0xF74821FE}"}), }; -(string templateFileName, Dictionary templateData)[] SveInputs = new [] +(string templateFileName, Dictionary templateData)[] SveInputs = new[] { ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_Abs_float", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "Abs", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "-TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "Helpers.Abs(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.Abs(leftOp[i])"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_Abs_double", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "Abs", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "-TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "Helpers.Abs(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.Abs(leftOp[i])"}), @@ -3695,7 +3695,7 @@ ("SveGatherVectorFirstFaultingVectorBases.template", new Dictionary {["TestName"] = "Sve_GatherVectorFirstFaulting_Bases_double_ulong", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "GatherVectorFirstFaulting", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt64", ["ExtendedElementType"] = "Double", ["GetFfrType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "Helpers.getMaskDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["NextValueBase"] = "TestLibrary.Generator.GetDouble()"}), ("SveGatherVectorFirstFaultingVectorBases.template", new Dictionary {["TestName"] = "Sve_GatherVectorFirstFaulting_Bases_long_ulong", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "GatherVectorFirstFaulting", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt64", ["ExtendedElementType"] = "Int64", ["GetFfrType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "Helpers.getMaskInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["NextValueBase"] = "TestLibrary.Generator.GetInt64()"}), ("SveGatherVectorFirstFaultingVectorBases.template", new Dictionary {["TestName"] = "Sve_GatherVectorFirstFaulting_Bases_ulong_ulong", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "GatherVectorFirstFaulting", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt64", ["ExtendedElementType"] = "UInt64", ["GetFfrType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "Helpers.getMaskUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["NextValueBase"] = "TestLibrary.Generator.GetUInt64()"}), - + ("SveGatherVectorFirstFaultingIndices.template", new Dictionary { ["TestName"] = "Sve_GatherVectorFirstFaulting_Indices_float_int", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "GatherVectorFirstFaulting", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Single", ["Op2BaseType"] = "Single", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["ExtendedElementType"] = "Single", ["GetFfrType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "Helpers.getMaskSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()"}), ("SveGatherVectorFirstFaultingIndices.template", new Dictionary { ["TestName"] = "Sve_GatherVectorFirstFaulting_Indices_int_int", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "GatherVectorFirstFaulting", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["ExtendedElementType"] = "Int32", ["GetFfrType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "Helpers.getMaskInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()"}), ("SveGatherVectorFirstFaultingIndices.template", new Dictionary { ["TestName"] = "Sve_GatherVectorFirstFaulting_Indices_uint_int", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "GatherVectorFirstFaulting", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["ExtendedElementType"] = "UInt32", ["GetFfrType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "Helpers.getMaskUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()"}), @@ -4173,10 +4173,10 @@ ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_PopCount_uint", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PopCount", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateIterResult"] = "Helpers.BitCount(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.BitCount(leftOp[i])"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_PopCount_ulong", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PopCount", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["ValidateIterResult"] = "Helpers.BitCount(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.BitCount(leftOp[i])"}), - ("SvePrefetchTest.template", new Dictionary { ["TestName"] = "Sve_PrefetchBytes", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PrefetchBytes", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidPrefetch"] = "SvePrefetchType.LoadL1Temporal", ["InvalidPrefetch"] = "(SvePrefetchType)100"}), - ("SvePrefetchTest.template", new Dictionary { ["TestName"] = "Sve_PrefetchInt16", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PrefetchInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ValidPrefetch"] = "SvePrefetchType.LoadL2NonTemporal", ["InvalidPrefetch"] = "(SvePrefetchType)18"}), - ("SvePrefetchTest.template", new Dictionary { ["TestName"] = "Sve_PrefetchInt32", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PrefetchInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ValidPrefetch"] = "SvePrefetchType.StoreL3Temporal", ["InvalidPrefetch"] = "(SvePrefetchType)20"}), - ("SvePrefetchTest.template", new Dictionary { ["TestName"] = "Sve_PrefetchInt64", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PrefetchInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidPrefetch"] = "SvePrefetchType.StoreL1NonTemporal", ["InvalidPrefetch"] = "(SvePrefetchType)87"}), + ("SvePrefetchTest.template", new Dictionary { ["TestName"] = "Sve_PrefetchBytes", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PrefetchBytes", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ValidPrefetch"] = "SvePrefetchType.LoadL1Temporal", ["InvalidPrefetch"] = "(SvePrefetchType)100"}), + ("SvePrefetchTest.template", new Dictionary { ["TestName"] = "Sve_PrefetchInt16", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PrefetchInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ValidPrefetch"] = "SvePrefetchType.LoadL2NonTemporal", ["InvalidPrefetch"] = "(SvePrefetchType)18"}), + ("SvePrefetchTest.template", new Dictionary { ["TestName"] = "Sve_PrefetchInt32", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PrefetchInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ValidPrefetch"] = "SvePrefetchType.StoreL3Temporal", ["InvalidPrefetch"] = "(SvePrefetchType)20"}), + ("SvePrefetchTest.template", new Dictionary { ["TestName"] = "Sve_PrefetchInt64", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "PrefetchInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["ValidPrefetch"] = "SvePrefetchType.StoreL1NonTemporal", ["InvalidPrefetch"] = "(SvePrefetchType)87"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_ReverseBits_byte", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "ReverseBits", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "result[i] != Helpers.ReverseElementBits(firstOp[i])", ["GetIterResult"] = "Helpers.ReverseElementBits(leftOp[i])"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_ReverseBits_short", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "ReverseBits", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["ValidateIterResult"] = "result[i] != Helpers.ReverseElementBits(firstOp[i])", ["GetIterResult"] = "Helpers.ReverseElementBits(leftOp[i])"}), @@ -4681,7 +4681,7 @@ ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_RoundAwayFromZero_float", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "RoundAwayFromZero", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "Helpers.RoundAwayFromZero(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.RoundAwayFromZero(leftOp[i])"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_RoundAwayFromZero_double", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "RoundAwayFromZero", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "Helpers.RoundAwayFromZero(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.RoundAwayFromZero(leftOp[i])"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_RoundToNearest_float", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "RoundToNearest", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "Helpers.RoundToNearest(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.RoundToNearest(leftOp[i])"}), - ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_RoundToNearest_double", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "RoundToNearest", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "Helpers.RoundToNearest(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.RoundToNearest(leftOp[i])"}), + ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_RoundToNearest_double", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "RoundToNearest", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "Helpers.RoundToNearest(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.RoundToNearest(leftOp[i])"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_RoundToNegativeInfinity_float", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "RoundToNegativeInfinity", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "Helpers.RoundToNegativeInfinity(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.RoundToNegativeInfinity(leftOp[i])"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_RoundToNegativeInfinity_double", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "RoundToNegativeInfinity", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ValidateIterResult"] = "Helpers.RoundToNegativeInfinity(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.RoundToNegativeInfinity(leftOp[i])"}), ("SveSimpleVecOpTest.template", new Dictionary { ["TestName"] = "Sve_RoundToPositiveInfinity_float", ["Isa"] = "Sve", ["LoadIsa"] = "Sve", ["Method"] = "RoundToPositiveInfinity", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateIterResult"] = "Helpers.RoundToPositiveInfinity(firstOp[i]) != result[i]", ["GetIterResult"] = "Helpers.RoundToPositiveInfinity(leftOp[i])"}), @@ -4749,6 +4749,31 @@ ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseClearXor_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseClearXor", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseClearXor(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseClearXor(firstOp[i], secondOp[i], thirdOp[i])"}), ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseClearXor_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseClearXor", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt64", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt64()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseClearXor(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseClearXor(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelect_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelect", ["RetVectorType"] = "Vector", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelect_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelect", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelect_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelect", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelect_long", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelect", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int64", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt64()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelect_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelect", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelect_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelect", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelect_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelect", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelect_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelect", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt64", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt64()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelect(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectLeftInverted_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectLeftInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectLeftInverted_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectLeftInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectLeftInverted_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectLeftInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectLeftInverted_long", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectLeftInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int64", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt64()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectLeftInverted_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectLeftInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectLeftInverted_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectLeftInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectLeftInverted_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectLeftInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectLeftInverted_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectLeftInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt64", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt64()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectLeftInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectRightInverted_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectRightInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectRightInverted_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectRightInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectRightInverted_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectRightInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectRightInverted_long", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectRightInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int64", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt64()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectRightInverted_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectRightInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectRightInverted_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectRightInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectRightInverted_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectRightInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_BitwiseSelectRightInverted_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "BitwiseSelectRightInverted", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt64", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt64()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "result[i] != Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])", ["GetIterResult"] = "Helpers.BitwiseSelectRightInverted(firstOp[i], secondOp[i], thirdOp[i])"}), + ("SveVecImmBinOpTest.template", new Dictionary { ["TestName"] = "Sve2_ShiftLeftAndInsert_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "ShiftLeftAndInsert", ["RetVectorType"] = "Vector", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueMask"] = "Helpers.getMaskSByte()", ["Imm"] = "5", ["InvalidImm"] = "8", ["ValidateIterResult"] = "result[i] != Helpers.ShiftLeftAndInsert(firstOp[i], secondOp[i], Imm)", ["GetIterResult"] = "Helpers.ShiftLeftAndInsert(firstOp[i], secondOp[i], Imm)"}), ("SveVecImmBinOpTest.template", new Dictionary { ["TestName"] = "Sve2_ShiftLeftAndInsert_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "ShiftLeftAndInsert", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueMask"] = "Helpers.getMaskInt16()", ["Imm"] = "12", ["InvalidImm"] = "16", ["ValidateIterResult"] = "result[i] != Helpers.ShiftLeftAndInsert(firstOp[i], secondOp[i], Imm)", ["GetIterResult"] = "Helpers.ShiftLeftAndInsert(firstOp[i], secondOp[i], Imm)"}), ("SveVecImmBinOpTest.template", new Dictionary { ["TestName"] = "Sve2_ShiftLeftAndInsert_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "ShiftLeftAndInsert", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueMask"] = "Helpers.getMaskInt32()", ["Imm"] = "23", ["InvalidImm"] = "32", ["ValidateIterResult"] = "result[i] != Helpers.ShiftLeftAndInsert(firstOp[i], secondOp[i], Imm)", ["GetIterResult"] = "Helpers.ShiftLeftAndInsert(firstOp[i], secondOp[i], Imm)"}), diff --git a/src/tests/JIT/HardwareIntrinsics/Arm/Shared/Helpers.cs b/src/tests/JIT/HardwareIntrinsics/Arm/Shared/Helpers.cs index 0eaa30b8440e95..e60f73ed673550 100644 --- a/src/tests/JIT/HardwareIntrinsics/Arm/Shared/Helpers.cs +++ b/src/tests/JIT/HardwareIntrinsics/Arm/Shared/Helpers.cs @@ -9837,5 +9837,20 @@ public static T BitwiseClearXor(T op1, T op2, T op3) where T : IBitwiseOperat { return op1 ^ (op2 & ~op3); } + + public static T BitwiseSelect(T select, T left, T right) where T : IBitwiseOperators + { + return (left & select) | (right & ~select); + } + + public static T BitwiseSelectLeftInverted(T select, T left, T right) where T : IBitwiseOperators + { + return (~left & select) | (right & ~select); + } + + public static T BitwiseSelectRightInverted(T select, T left, T right) where T : IBitwiseOperators + { + return (left & select) | (~right & ~select); + } } }