From 7ea87dff5a1f78c81fe358864473c277edb3d2cf Mon Sep 17 00:00:00 2001 From: Jacob Crawley Date: Tue, 1 Jul 2025 10:20:09 +0100 Subject: [PATCH] Correcting the naming of SVE2 Math API's Renaming SVE2 API's incorrectly named with Upper/Lower to Even/Odd --- src/coreclr/jit/hwintrinsiccodegenarm64.cpp | 4 +- src/coreclr/jit/hwintrinsiclistarm64sve.h | 12 ++-- src/coreclr/jit/lsraarm64.cpp | 4 +- .../Arm/Sve2.PlatformNotSupported.cs | 56 ++++++++-------- .../src/System/Runtime/Intrinsics/Arm/Sve2.cs | 56 ++++++++-------- .../ref/System.Runtime.Intrinsics.cs | 56 ++++++++-------- .../GenerateHWIntrinsicTests_Arm.cs | 64 +++++++++---------- 7 files changed, 126 insertions(+), 126 deletions(-) diff --git a/src/coreclr/jit/hwintrinsiccodegenarm64.cpp b/src/coreclr/jit/hwintrinsiccodegenarm64.cpp index f92d1479d935b7..9b80d48f3711fa 100644 --- a/src/coreclr/jit/hwintrinsiccodegenarm64.cpp +++ b/src/coreclr/jit/hwintrinsiccodegenarm64.cpp @@ -2709,8 +2709,8 @@ void CodeGen::genHWIntrinsic(GenTreeHWIntrinsic* node) break; } - case NI_Sve2_AddCarryWideningLower: - case NI_Sve2_AddCarryWideningUpper: + case NI_Sve2_AddCarryWideningEven: + case NI_Sve2_AddCarryWideningOdd: if (targetReg != op3Reg) { GetEmitter()->emitIns_Mov(INS_mov, emitTypeSize(node), targetReg, op3Reg, /* canSkip */ true); diff --git a/src/coreclr/jit/hwintrinsiclistarm64sve.h b/src/coreclr/jit/hwintrinsiclistarm64sve.h index 3b2ee34d2f700b..9da8e45324b0ce 100644 --- a/src/coreclr/jit/hwintrinsiclistarm64sve.h +++ b/src/coreclr/jit/hwintrinsiclistarm64sve.h @@ -314,12 +314,12 @@ HARDWARE_INTRINSIC(Sve, ZipLow, // SVE2 Intrinsics #define FIRST_NI_Sve2 NI_Sve2_AbsoluteDifferenceAdd HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceAdd, -1, 3, {INS_sve_saba, INS_sve_uaba, INS_sve_saba, INS_sve_uaba, INS_sve_saba, INS_sve_uaba, INS_sve_saba, INS_sve_uaba, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_HasRMWSemantics) -HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceAddWideningLower, -1, 3, {INS_invalid, INS_invalid, INS_sve_sabalb, INS_sve_uabalb, INS_sve_sabalb, INS_sve_uabalb, INS_sve_sabalb, INS_sve_uabalb, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_BaseTypeFromFirstArg|HW_Flag_HasRMWSemantics) -HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceAddWideningUpper, -1, 3, {INS_invalid, INS_invalid, INS_sve_sabalt, INS_sve_uabalt, INS_sve_sabalt, INS_sve_uabalt, INS_sve_sabalt, INS_sve_uabalt, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_BaseTypeFromFirstArg|HW_Flag_HasRMWSemantics) -HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceWideningLower, -1, 2, {INS_invalid, INS_invalid, INS_sve_sabdlb, INS_sve_uabdlb, INS_sve_sabdlb, INS_sve_uabdlb, INS_sve_sabdlb, INS_sve_uabdlb, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable) -HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceWideningUpper, -1, 2, {INS_invalid, INS_invalid, INS_sve_sabdlt, INS_sve_uabdlt, INS_sve_sabdlt, INS_sve_uabdlt, INS_sve_sabdlt, INS_sve_uabdlt, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable) -HARDWARE_INTRINSIC(Sve2, AddCarryWideningLower, -1, 3, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_sve_adclb, INS_invalid, INS_sve_adclb, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_HasRMWSemantics|HW_Flag_SpecialCodeGen) -HARDWARE_INTRINSIC(Sve2, AddCarryWideningUpper, -1, 3, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_sve_adclt, INS_invalid, INS_sve_adclt, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_HasRMWSemantics|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceWideningEven, -1, 2, {INS_invalid, INS_invalid, INS_sve_sabdlb, INS_sve_uabdlb, INS_sve_sabdlb, INS_sve_uabdlb, INS_sve_sabdlb, INS_sve_uabdlb, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable) +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceWideningLowerAndAddEven, -1, 3, {INS_invalid, INS_invalid, INS_sve_sabalb, INS_sve_uabalb, INS_sve_sabalb, INS_sve_uabalb, INS_sve_sabalb, INS_sve_uabalb, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_BaseTypeFromFirstArg|HW_Flag_HasRMWSemantics) +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceWideningLowerAndAddOdd, -1, 3, {INS_invalid, INS_invalid, INS_sve_sabalt, INS_sve_uabalt, INS_sve_sabalt, INS_sve_uabalt, INS_sve_sabalt, INS_sve_uabalt, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_BaseTypeFromFirstArg|HW_Flag_HasRMWSemantics) +HARDWARE_INTRINSIC(Sve2, AbsoluteDifferenceWideningOdd, -1, 2, {INS_invalid, INS_invalid, INS_sve_sabdlt, INS_sve_uabdlt, INS_sve_sabdlt, INS_sve_uabdlt, INS_sve_sabdlt, INS_sve_uabdlt, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable) +HARDWARE_INTRINSIC(Sve2, AddCarryWideningEven, -1, 3, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_sve_adclb, INS_invalid, INS_sve_adclb, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_HasRMWSemantics|HW_Flag_SpecialCodeGen) +HARDWARE_INTRINSIC(Sve2, AddCarryWideningOdd, -1, 3, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_sve_adclt, INS_invalid, INS_sve_adclt, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_HasRMWSemantics|HW_Flag_SpecialCodeGen) HARDWARE_INTRINSIC(Sve2, AddHighNarrowingEven, -1, 2, {INS_sve_addhnb, INS_sve_addhnb, INS_sve_addhnb, INS_sve_addhnb, INS_sve_addhnb, INS_sve_addhnb, INS_invalid, INS_invalid, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable) HARDWARE_INTRINSIC(Sve2, AddHighNarrowingOdd, -1, 3, {INS_sve_addhnt, INS_sve_addhnt, INS_sve_addhnt, INS_sve_addhnt, INS_sve_addhnt, INS_sve_addhnt, INS_invalid, INS_invalid, INS_invalid, INS_invalid}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_HasRMWSemantics) HARDWARE_INTRINSIC(Sve2, AddPairwise, -1, -1, {INS_sve_addp, INS_sve_addp, INS_sve_addp, INS_sve_addp, INS_sve_addp, INS_sve_addp, INS_sve_addp, INS_sve_addp, INS_sve_faddp, INS_sve_faddp}, HW_Category_SIMD, HW_Flag_Scalable|HW_Flag_EmbeddedMaskedOperation|HW_Flag_HasRMWSemantics|HW_Flag_LowMaskedOperation|HW_Flag_ReduceOperation) diff --git a/src/coreclr/jit/lsraarm64.cpp b/src/coreclr/jit/lsraarm64.cpp index 9fd26f61833764..d7a099bf0f2d14 100644 --- a/src/coreclr/jit/lsraarm64.cpp +++ b/src/coreclr/jit/lsraarm64.cpp @@ -2287,8 +2287,8 @@ GenTree* LinearScan::getDelayFreeOperand(GenTreeHWIntrinsic* intrinsicTree, bool assert(delayFreeOp != nullptr); break; - case NI_Sve2_AddCarryWideningLower: - case NI_Sve2_AddCarryWideningUpper: + case NI_Sve2_AddCarryWideningEven: + case NI_Sve2_AddCarryWideningOdd: // RMW operates on the third op. assert(isRMW); delayFreeOp = intrinsicTree->Op(3); 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 b1200e1f2c1481..007620866ef41d 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 @@ -84,37 +84,37 @@ internal Arm64() { } /// svint16_t svabalb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) /// SABALB Ztied1.H, Zop2.B, Zop3.B /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svint32_t svabalb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) /// SABALB Ztied1.S, Zop2.H, Zop3.H /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svint64_t svabalb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) /// SABALB Ztied1.D, Zop2.S, Zop3.S /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint16_t svabalb[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) /// UABALB Ztied1.H, Zop2.B, Zop3.B /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint32_t svabalb[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) /// UABALB Ztied1.S, Zop2.H, Zop3.H /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint64_t svabalb[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) /// UABALB Ztied1.D, Zop2.S, Zop3.S /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } // Absolute difference and accumulate long (top) @@ -122,37 +122,37 @@ internal Arm64() { } /// svint16_t svabalt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) /// SABALT Ztied1.H, Zop2.B, Zop3.B /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svint32_t svabalt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) /// SABALT Ztied1.S, Zop2.H, Zop3.H /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svint64_t svabalt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) /// SABALT Ztied1.D, Zop2.S, Zop3.S /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint16_t svabalt[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) /// UABALT Ztied1.H, Zop2.B, Zop3.B /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint32_t svabalt[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) /// UABALT Ztied1.S, Zop2.H, Zop3.H /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint64_t svabalt[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) /// UABALT Ztied1.D, Zop2.S, Zop3.S /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) { throw new PlatformNotSupportedException(); } // Absolute difference long (bottom) @@ -160,37 +160,37 @@ internal Arm64() { } /// svint16_t svabdlb[_s16](svint8_t op1, svint8_t op2) /// SABDLB Zresult.H, Zop1.B, Zop2.B /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svint32_t svabdlb[_s32](svint16_t op1, svint16_t op2) /// SABDLB Zresult.S, Zop1.H, Zop2.H /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svint64_t svabdlb[_s64](svint32_t op1, svint32_t op2) /// SABDLB Zresult.D, Zop1.S, Zop2.S /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint16_t svabdlb[_u16](svuint8_t op1, svuint8_t op2) /// UABDLB Zresult.H, Zop1.B, Zop2.B /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint32_t svabdlb[_u32](svuint16_t op1, svuint16_t op2) /// UABDLB Zresult.S, Zop1.H, Zop2.H /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint64_t svabdlb[_u64](svuint32_t op1, svuint32_t op2) /// UABDLB Zresult.D, Zop1.S, Zop2.S /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) { throw new PlatformNotSupportedException(); } // Absolute difference long (top) @@ -198,37 +198,37 @@ internal Arm64() { } /// svint16_t svabdlt[_s16](svint8_t op1, svint8_t op2) /// SABDLT Zresult.H, Zop1.B, Zop2.B /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svint32_t svabdlt[_s32](svint16_t op1, svint16_t op2) /// SABDLT Zresult.S, Zop1.H, Zop2.H /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svint64_t svabdlt[_s64](svint32_t op1, svint32_t op2) /// SABDLT Zresult.D, Zop1.S, Zop2.S /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint16_t svabdlt[_u16](svuint8_t op1, svuint8_t op2) /// UABDLT Zresult.H, Zop1.B, Zop2.B /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint32_t svabdlt[_u32](svuint16_t op1, svuint16_t op2) /// UABDLT Zresult.S, Zop1.H, Zop2.H /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } /// /// svuint64_t svabdlt[_u64](svuint32_t op1, svuint32_t op2) /// UABDLT Zresult.D, Zop1.S, Zop2.S /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) { throw new PlatformNotSupportedException(); } + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) { throw new PlatformNotSupportedException(); } // Add with carry long (bottom) @@ -236,13 +236,13 @@ internal Arm64() { } /// svuint32_t svadclb[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) /// ADCLB Ztied1.S, Zop2.S, Zop3.S /// - public static unsafe Vector AddCarryWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + public static unsafe Vector AddCarryWideningEven(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } /// /// svuint64_t svadclb[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) /// ADCLB Ztied1.D, Zop2.D, Zop3.D /// - public static unsafe Vector AddCarryWideningLower(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + public static unsafe Vector AddCarryWideningEven(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } // Add with carry long (top) @@ -250,13 +250,13 @@ internal Arm64() { } /// svuint32_t svadclt[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) /// ADCLT Ztied1.S, Zop2.S, Zop3.S /// - public static unsafe Vector AddCarryWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + public static unsafe Vector AddCarryWideningOdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } /// /// svuint64_t svadclt[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) /// ADCLT Ztied1.D, Zop2.D, Zop3.D /// - public static unsafe Vector AddCarryWideningUpper(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } + public static unsafe Vector AddCarryWideningOdd(Vector op1, Vector op2, Vector op3) { throw new PlatformNotSupportedException(); } // Add narrow high part (bottom) 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 55e7706353bfc3..464a763d78c6bd 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 @@ -84,37 +84,37 @@ internal Arm64() { } /// svint16_t svabalb[_s16](svint16_t op1, svint8_t op2, svint8_t op3) /// SABALB Ztied1.H, Zop2.B, Zop3.B /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningLower(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddEven(addend, left, right); /// /// svint32_t svabalb[_s32](svint32_t op1, svint16_t op2, svint16_t op3) /// SABALB Ztied1.S, Zop2.H, Zop3.H /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningLower(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddEven(addend, left, right); /// /// svint64_t svabalb[_s64](svint64_t op1, svint32_t op2, svint32_t op3) /// SABALB Ztied1.D, Zop2.S, Zop3.S /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningLower(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddEven(addend, left, right); /// /// svuint16_t svabalb[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) /// UABALB Ztied1.H, Zop2.B, Zop3.B /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningLower(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddEven(addend, left, right); /// /// svuint32_t svabalb[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) /// UABALB Ztied1.S, Zop2.H, Zop3.H /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningLower(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddEven(addend, left, right); /// /// svuint64_t svabalb[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) /// UABALB Ztied1.D, Zop2.S, Zop3.S /// - public static Vector AbsoluteDifferenceAddWideningLower(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningLower(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddEven(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddEven(addend, left, right); // Absolute difference and accumulate long (top) @@ -122,37 +122,37 @@ internal Arm64() { } /// svint16_t svabalt[_s16](svint16_t op1, svint8_t op2, svint8_t op3) /// SABALT Ztied1.H, Zop2.B, Zop3.B /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningUpper(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddOdd(addend, left, right); /// /// svint32_t svabalt[_s32](svint32_t op1, svint16_t op2, svint16_t op3) /// SABALT Ztied1.S, Zop2.H, Zop3.H /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningUpper(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddOdd(addend, left, right); /// /// svint64_t svabalt[_s64](svint64_t op1, svint32_t op2, svint32_t op3) /// SABALT Ztied1.D, Zop2.S, Zop3.S /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningUpper(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddOdd(addend, left, right); /// /// svuint16_t svabalt[_u16](svuint16_t op1, svuint8_t op2, svuint8_t op3) /// UABALT Ztied1.H, Zop2.B, Zop3.B /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningUpper(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddOdd(addend, left, right); /// /// svuint32_t svabalt[_u32](svuint32_t op1, svuint16_t op2, svuint16_t op3) /// UABALT Ztied1.S, Zop2.H, Zop3.H /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningUpper(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddOdd(addend, left, right); /// /// svuint64_t svabalt[_u64](svuint64_t op1, svuint32_t op2, svuint32_t op3) /// UABALT Ztied1.D, Zop2.S, Zop3.S /// - public static Vector AbsoluteDifferenceAddWideningUpper(Vector addend, Vector left, Vector right) => AbsoluteDifferenceAddWideningUpper(addend, left, right); + public static Vector AbsoluteDifferenceWideningLowerAndAddOdd(Vector addend, Vector left, Vector right) => AbsoluteDifferenceWideningLowerAndAddOdd(addend, left, right); // Absolute difference long (bottom) @@ -160,37 +160,37 @@ internal Arm64() { } /// svint16_t svabdlb[_s16](svint8_t op1, svint8_t op2) /// SABDLB Zresult.H, Zop1.B, Zop2.B /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) => AbsoluteDifferenceWideningEven(left, right); /// /// svint32_t svabdlb[_s32](svint16_t op1, svint16_t op2) /// SABDLB Zresult.S, Zop1.H, Zop2.H /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) => AbsoluteDifferenceWideningEven(left, right); /// /// svint64_t svabdlb[_s64](svint32_t op1, svint32_t op2) /// SABDLB Zresult.D, Zop1.S, Zop2.S /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) => AbsoluteDifferenceWideningEven(left, right); /// /// svuint16_t svabdlb[_u16](svuint8_t op1, svuint8_t op2) /// UABDLB Zresult.H, Zop1.B, Zop2.B /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) => AbsoluteDifferenceWideningEven(left, right); /// /// svuint32_t svabdlb[_u32](svuint16_t op1, svuint16_t op2) /// UABDLB Zresult.S, Zop1.H, Zop2.H /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) => AbsoluteDifferenceWideningEven(left, right); /// /// svuint64_t svabdlb[_u64](svuint32_t op1, svuint32_t op2) /// UABDLB Zresult.D, Zop1.S, Zop2.S /// - public static Vector AbsoluteDifferenceWideningLower(Vector left, Vector right) => AbsoluteDifferenceWideningLower(left, right); + public static Vector AbsoluteDifferenceWideningEven(Vector left, Vector right) => AbsoluteDifferenceWideningEven(left, right); // Absolute difference long (top) @@ -198,37 +198,37 @@ internal Arm64() { } /// svint16_t svabdlt[_s16](svint8_t op1, svint8_t op2) /// SABDLT Zresult.H, Zop1.B, Zop2.B /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) => AbsoluteDifferenceWideningOdd(left, right); /// /// svint32_t svabdlt[_s32](svint16_t op1, svint16_t op2) /// SABDLT Zresult.S, Zop1.H, Zop2.H /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) => AbsoluteDifferenceWideningOdd(left, right); /// /// svint64_t svabdlt[_s64](svint32_t op1, svint32_t op2) /// SABDLT Zresult.D, Zop1.S, Zop2.S /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) => AbsoluteDifferenceWideningOdd(left, right); /// /// svuint16_t svabdlt[_u16](svuint8_t op1, svuint8_t op2) /// UABDLT Zresult.H, Zop1.B, Zop2.B /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) => AbsoluteDifferenceWideningOdd(left, right); /// /// svuint32_t svabdlt[_u32](svuint16_t op1, svuint16_t op2) /// UABDLT Zresult.S, Zop1.H, Zop2.H /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) => AbsoluteDifferenceWideningOdd(left, right); /// /// svuint64_t svabdlt[_u64](svuint32_t op1, svuint32_t op2) /// UABDLT Zresult.D, Zop1.S, Zop2.S /// - public static Vector AbsoluteDifferenceWideningUpper(Vector left, Vector right) => AbsoluteDifferenceWideningUpper(left, right); + public static Vector AbsoluteDifferenceWideningOdd(Vector left, Vector right) => AbsoluteDifferenceWideningOdd(left, right); // Add with carry long (bottom) @@ -236,13 +236,13 @@ internal Arm64() { } /// svuint32_t svadclb[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) /// ADCLB Ztied1.S, Zop2.S, Zop3.S /// - public static unsafe Vector AddCarryWideningLower(Vector op1, Vector op2, Vector op3) => AddCarryWideningLower(op1, op2, op3); + public static unsafe Vector AddCarryWideningEven(Vector op1, Vector op2, Vector op3) => AddCarryWideningEven(op1, op2, op3); /// /// svuint64_t svadclb[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) /// ADCLB Ztied1.D, Zop2.D, Zop3.D /// - public static unsafe Vector AddCarryWideningLower(Vector op1, Vector op2, Vector op3) => AddCarryWideningLower(op1, op2, op3); + public static unsafe Vector AddCarryWideningEven(Vector op1, Vector op2, Vector op3) => AddCarryWideningEven(op1, op2, op3); // Add with carry long (top) @@ -250,13 +250,13 @@ internal Arm64() { } /// svuint32_t svadclt[_u32](svuint32_t op1, svuint32_t op2, svuint32_t op3) /// ADCLT Ztied1.S, Zop2.S, Zop3.S /// - public static unsafe Vector AddCarryWideningUpper(Vector op1, Vector op2, Vector op3) => AddCarryWideningUpper(op1, op2, op3); + public static unsafe Vector AddCarryWideningOdd(Vector op1, Vector op2, Vector op3) => AddCarryWideningOdd(op1, op2, op3); /// /// svuint64_t svadclt[_u64](svuint64_t op1, svuint64_t op2, svuint64_t op3) /// ADCLT Ztied1.D, Zop2.D, Zop3.D /// - public static unsafe Vector AddCarryWideningUpper(Vector op1, Vector op2, Vector op3) => AddCarryWideningUpper(op1, op2, op3); + public static unsafe Vector AddCarryWideningOdd(Vector op1, Vector op2, Vector op3) => AddCarryWideningOdd(op1, op2, op3); // Add narrow high part (bottom) 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 3cb4b3ea93f3fd..b275bb3f925b2a 100644 --- a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs +++ b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs @@ -6088,38 +6088,38 @@ internal Arm64() { } public static System.Numerics.Vector AbsoluteDifferenceAdd(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } public static System.Numerics.Vector AbsoluteDifferenceAdd(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningLower(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningLower(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningLower(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningLower(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningLower(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningLower(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddEven(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddEven(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddEven(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddEven(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddEven(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddEven(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningUpper(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningUpper(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningUpper(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningUpper(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningUpper(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceAddWideningUpper(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddOdd(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddOdd(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddOdd(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddOdd(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddOdd(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningLowerAndAddOdd(System.Numerics.Vector addend, System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningLower(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningLower(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningLower(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningLower(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningLower(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningLower(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningEven(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningEven(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningEven(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningEven(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningEven(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningEven(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningUpper(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningUpper(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningUpper(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningUpper(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningUpper(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AbsoluteDifferenceWideningUpper(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } + public static System.Numerics.Vector AbsoluteDifferenceWideningOdd(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } - public static System.Numerics.Vector AddCarryWideningLower(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3) { throw null; } - public static System.Numerics.Vector AddCarryWideningLower(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3) { throw null; } - public static System.Numerics.Vector AddCarryWideningUpper(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3) { throw null; } - public static System.Numerics.Vector AddCarryWideningUpper(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3) { throw null; } + public static System.Numerics.Vector AddCarryWideningEven(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3) { throw null; } + public static System.Numerics.Vector AddCarryWideningEven(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3) { throw null; } + public static System.Numerics.Vector AddCarryWideningOdd(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3) { throw null; } + public static System.Numerics.Vector AddCarryWideningOdd(System.Numerics.Vector op1, System.Numerics.Vector op2, System.Numerics.Vector op3) { throw null; } public static System.Numerics.Vector AddHighNarrowingEven(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } public static System.Numerics.Vector AddHighNarrowingEven(System.Numerics.Vector left, System.Numerics.Vector right) { throw null; } diff --git a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs index e34610c1c45abb..a9b6caab6bbeaa 100644 --- a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs +++ b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs @@ -4801,38 +4801,38 @@ ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceAdd_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAdd", ["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"] = "Helpers.AbsoluteDifferenceAdd(firstOp[i], secondOp[i], thirdOp[i]) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceAdd(firstOp[i], secondOp[i], thirdOp[i])"}), ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceAdd_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAdd", ["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"] = "Helpers.AbsoluteDifferenceAdd(firstOp[i], secondOp[i], thirdOp[i]) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceAdd(firstOp[i], secondOp[i], thirdOp[i])"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceAddWideningLower_short_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceAddWideningLower_int_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int32) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceAddWideningLower_long_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int64) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceAddWideningLower_ushort_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt16) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceAddWideningLower_uint_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceAddWideningLower_ulong_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), - - ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceAddWideningUpper_short_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceAddWideningUpper_int_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int32) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceAddWideningUpper_long_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int64) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceAddWideningUpper_ushort_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt16) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceAddWideningUpper_uint_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), - ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceAddWideningUpper_ulong_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceAddWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), - - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLower_short_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLower_int_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(Int32) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLower_long_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(Int64) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLower_ushort_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(UInt16) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLower_uint_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLower_ulong_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLower", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), - - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningUpper_short_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningUpper_int_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(Int32) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningUpper_long_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(Int64) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningUpper_ushort_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(UInt16) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningUpper_uint_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), - ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningUpper_ulong_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningUpper", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), - - ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AddCarryWideningLower_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddCarryWideningLower", ["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"] = "Helpers.AddCarryWideningEven(firstOp, secondOp, thirdOp, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AddCarryWideningEven(first, second, third, i)"}), - ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AddCarryWideningLower_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddCarryWideningLower", ["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"] = "Helpers.AddCarryWideningEven(firstOp, secondOp, thirdOp, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AddCarryWideningEven(first, second, third, i)"}), - ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AddCarryWideningUpper_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddCarryWideningUpper", ["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"] = "Helpers.AddCarryWideningOdd(firstOp, secondOp, thirdOp, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AddCarryWideningOdd(first, second, third, i)"}), - ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AddCarryWideningUpper_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddCarryWideningUpper", ["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"] = "Helpers.AddCarryWideningOdd(firstOp, secondOp, thirdOp, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AddCarryWideningOdd(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddEven_short_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddEven_int_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int32) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddEven_long_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int64) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddEven_ushort_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt16) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddEven_uint_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary { ["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddEven_ulong_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceWideningLowerAndAddEven(first, second, third, i)"}), + + ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddOdd_short_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddOdd_int_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int32) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddOdd_long_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(Int64) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddOdd_ushort_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["NextValueOp3"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt16) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddOdd_uint_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), + ("SveVecTernOpFirstArgTest.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningLowerAndAddOdd_ulong_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningLowerAndAddOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt64", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp3"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceWideningLowerAndAddOdd(first, second, third, i)"}), + + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningEven_short_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningEven_int_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(Int32) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningEven_long_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(Int64) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningEven_ushort_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(UInt16) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningEven_uint_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningEven_ulong_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningEven(left, right, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceWideningEven(left, right, i)"}), + + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningOdd_short_sbyte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "SByte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "SByte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetSByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningOdd_int_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(Int32) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningOdd_long_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(Int64) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningOdd_ushort_byte", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Byte", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Byte", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["NextValueOp2"] = "TestLibrary.Generator.GetByte()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(UInt16) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningOdd_uint_ushort", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), + ("SveVecBinOpDifferentRetType.template", new Dictionary {["TestName"] = "Sve2_AbsoluteDifferenceWideningOdd_ulong_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AbsoluteDifferenceWideningOdd", ["RetVectorType"] = "Vector", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetUInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AbsoluteDifferenceWideningOdd(left, right, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AbsoluteDifferenceWideningOdd(left, right, i)"}), + + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AddCarryWideningEven_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddCarryWideningEven", ["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"] = "Helpers.AddCarryWideningEven(firstOp, secondOp, thirdOp, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AddCarryWideningEven(first, second, third, i)"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AddCarryWideningEven_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddCarryWideningEven", ["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"] = "Helpers.AddCarryWideningEven(firstOp, secondOp, thirdOp, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AddCarryWideningEven(first, second, third, i)"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AddCarryWideningOdd_uint", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddCarryWideningOdd", ["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"] = "Helpers.AddCarryWideningOdd(firstOp, secondOp, thirdOp, i) != result[i]", ["GetIterResult"] = "(UInt32) Helpers.AddCarryWideningOdd(first, second, third, i)"}), + ("SveVecTernOpTest.template", new Dictionary { ["TestName"] = "Sve2_AddCarryWideningOdd_ulong", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddCarryWideningOdd", ["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"] = "Helpers.AddCarryWideningOdd(firstOp, secondOp, thirdOp, i) != result[i]", ["GetIterResult"] = "(UInt64) Helpers.AddCarryWideningOdd(first, second, third, i)"}), ("SveVecBinOpDifferentRetType.template", new Dictionary { ["TestName"] = "Sve2_AddHighNarrowingEven_sbyte_short", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddHighNarrowingEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "SByte", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int16", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int16", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt16()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AddHighNarrowingEven(left, right, i) != result[i]", ["GetIterResult"] = "(SByte) Helpers.AddHighNarrowingEven(left, right, i)"}), ("SveVecBinOpDifferentRetType.template", new Dictionary { ["TestName"] = "Sve2_AddHighNarrowingEven_short_int", ["Isa"] = "Sve2", ["LoadIsa"] = "Sve2", ["Method"] = "AddHighNarrowingEven", ["RetVectorType"] = "Vector", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector", ["Op1BaseType"] = "Int32", ["Op2VectorType"] = "Vector", ["Op2BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["NextValueOp2"] = "TestLibrary.Generator.GetInt32()", ["ConvertFunc"] = "", ["ValidateIterResult"] = "Helpers.AddHighNarrowingEven(left, right, i) != result[i]", ["GetIterResult"] = "(Int16) Helpers.AddHighNarrowingEven(left, right, i)"}),