From 384a7207c55c61bb187e1655c543fd12867abe01 Mon Sep 17 00:00:00 2001 From: Khushal Modi Date: Tue, 29 Apr 2025 20:26:58 -0700 Subject: [PATCH] Revert ymm embedded rounding --- src/coreclr/jit/emitxarch.cpp | 11 -- src/coreclr/jit/gentree.cpp | 21 --- src/coreclr/jit/hwintrinsiclistxarch.h | 23 +-- .../X86/Avx10v2.PlatformNotSupported.cs | 145 ------------------ .../System/Runtime/Intrinsics/X86/Avx10v2.cs | 145 ------------------ .../ref/System.Runtime.Intrinsics.cs | 30 ---- .../GenerateHWIntrinsicTests_X86.cs | 112 ++------------ .../Shared/SimpleBinOpEmbRounding.template | 30 ---- .../Shared/SimpleUnaryOpEmbRounding.template | 54 ------- 9 files changed, 18 insertions(+), 553 deletions(-) diff --git a/src/coreclr/jit/emitxarch.cpp b/src/coreclr/jit/emitxarch.cpp index 85794160e95a58..3b76a1af96b19f 100644 --- a/src/coreclr/jit/emitxarch.cpp +++ b/src/coreclr/jit/emitxarch.cpp @@ -1980,9 +1980,6 @@ bool emitter::TakesApxExtendedEvexPrefix(const instrDesc* id) const // - V'- bit to extend vvvv // - aaa - specifies mask register // Rest - reserved for future use and usage of them will uresult in Undefined instruction exception. -// - u - Bit to indicate YMM Embedded rounding. -// Set to 1 for isas Avx10.1 and below -// Needs to be set to 0 for AVX10.2 and above to indicate YMM embedded rounding // - B' - reserved as of now // set to 0 for future compatibility. // @@ -1993,7 +1990,6 @@ bool emitter::TakesApxExtendedEvexPrefix(const instrDesc* id) const #define LBIT_IN_BYTE_EVEX_PREFIX 0x0000002000000000ULL #define LPRIMEBIT_IN_BYTE_EVEX_PREFIX 0x0000004000000000ULL #define ZBIT_IN_BYTE_EVEX_PREFIX 0x0000008000000000ULL -#define uBIT_IN_BYTE_EVEX_PREFIX 0x0000040000000000ULL #define MAP4_IN_BYTE_EVEX_PREFIX 0x4000000000000ULL #define ND_BIT_IN_BYTE_EVEX_PREFIX 0x1000000000ULL @@ -2100,13 +2096,6 @@ emitter::code_t emitter::AddEvexPrefix(const instrDesc* id, code_t code, emitAtt if (!id->idHasMem()) { - // ymm embedded rounding case. - if (attr == EA_32BYTE) - { - assert(emitComp->compIsaSupportedDebugOnly(InstructionSet_AVX10v2)); - code &= ~(uBIT_IN_BYTE_EVEX_PREFIX); - } - unsigned roundingMode = id->idGetEvexbContext(); if (roundingMode == 1) { diff --git a/src/coreclr/jit/gentree.cpp b/src/coreclr/jit/gentree.cpp index 54af242fa6cd28..74a82ba05aae32 100644 --- a/src/coreclr/jit/gentree.cpp +++ b/src/coreclr/jit/gentree.cpp @@ -28660,21 +28660,6 @@ bool GenTreeHWIntrinsic::OperIsEmbRoundingEnabled() const case NI_AVX10v1_MultiplyScalar: case NI_AVX10v1_SubtractScalar: case NI_AVX10v1_SqrtScalar: - case NI_AVX10v2_Add: - case NI_AVX10v2_ConvertToVector128Int32: - case NI_AVX10v2_ConvertToVector128Single: - case NI_AVX10v2_ConvertToVector128UInt32: - case NI_AVX10v2_ConvertToVector256Double: - case NI_AVX10v2_ConvertToVector256Int32: - case NI_AVX10v2_ConvertToVector256Int64: - case NI_AVX10v2_ConvertToVector256Single: - case NI_AVX10v2_ConvertToVector256UInt32: - case NI_AVX10v2_ConvertToVector256UInt64: - case NI_AVX10v2_Divide: - case NI_AVX10v2_Multiply: - case NI_AVX10v2_Scale: - case NI_AVX10v2_Sqrt: - case NI_AVX10v2_Subtract: { return true; } @@ -28743,8 +28728,6 @@ bool GenTreeHWIntrinsic::OperIsEmbRoundingEnabled() const case NI_AVX10v1_V512_ConvertToVector512Double: case NI_AVX10v1_V512_ConvertToVector512Int64: case NI_AVX10v1_V512_ConvertToVector512UInt64: - case NI_AVX10v2_ConvertToSByteWithSaturationAndZeroExtendToInt32: - case NI_AVX10v2_ConvertToByteWithSaturationAndZeroExtendToInt32: case NI_AVX10v2_V512_ConvertToSByteWithSaturationAndZeroExtendToInt32: case NI_AVX10v2_V512_ConvertToByteWithSaturationAndZeroExtendToInt32: { @@ -29129,7 +29112,6 @@ genTreeOps GenTreeHWIntrinsic::GetOperForHWIntrinsicId(NamedIntrinsic id, var_ty case NI_AVX_Add: case NI_AVX2_Add: case NI_AVX512F_Add: - case NI_AVX10v2_Add: case NI_AVX512BW_Add: #elif defined(TARGET_ARM64) case NI_AdvSimd_Add: @@ -29166,7 +29148,6 @@ genTreeOps GenTreeHWIntrinsic::GetOperForHWIntrinsicId(NamedIntrinsic id, var_ty case NI_SSE2_Divide: case NI_AVX_Divide: case NI_AVX512F_Divide: - case NI_AVX10v2_Divide: #elif defined(TARGET_ARM64) case NI_AdvSimd_Arm64_Divide: #endif @@ -29219,7 +29200,6 @@ genTreeOps GenTreeHWIntrinsic::GetOperForHWIntrinsicId(NamedIntrinsic id, var_ty #if defined(TARGET_XARCH) case NI_SSE2_Multiply: case NI_AVX512F_Multiply: - case NI_AVX10v2_Multiply: { if (varTypeIsFloating(simdBaseType)) { @@ -29385,7 +29365,6 @@ genTreeOps GenTreeHWIntrinsic::GetOperForHWIntrinsicId(NamedIntrinsic id, var_ty case NI_AVX2_Subtract: case NI_AVX512F_Subtract: case NI_AVX512BW_Subtract: - case NI_AVX10v2_Subtract: #elif defined(TARGET_ARM64) case NI_AdvSimd_Subtract: case NI_AdvSimd_Arm64_Subtract: diff --git a/src/coreclr/jit/hwintrinsiclistxarch.h b/src/coreclr/jit/hwintrinsiclistxarch.h index d34af9561b3ad0..f8c72b30277d49 100644 --- a/src/coreclr/jit/hwintrinsiclistxarch.h +++ b/src/coreclr/jit/hwintrinsiclistxarch.h @@ -1444,35 +1444,20 @@ HARDWARE_INTRINSIC(AVX10v1_X64, ConvertToUInt64WithTruncation, // {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} // *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** // AVX10v2 Intrinsics -#define FIRST_NI_AVX10v2 NI_AVX10v2_Add -HARDWARE_INTRINSIC(AVX10v2, Add, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_addps, INS_addpd}, HW_Category_SimpleSIMD, HW_Flag_Commutative |HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToByteWithSaturationAndZeroExtendToInt32, -1, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtps2iubs, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) +#define FIRST_NI_AVX10v2 NI_AVX10v2_ConvertToByteWithSaturationAndZeroExtendToInt32 +HARDWARE_INTRINSIC(AVX10v2, ConvertToByteWithSaturationAndZeroExtendToInt32, -1, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtps2iubs, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) HARDWARE_INTRINSIC(AVX10v2, ConvertToByteWithTruncatedSaturationAndZeroExtendToInt32, -1, 1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvttps2iubs, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToSByteWithSaturationAndZeroExtendToInt32, -1, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtps2ibs, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) +HARDWARE_INTRINSIC(AVX10v2, ConvertToSByteWithSaturationAndZeroExtendToInt32, -1, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtps2ibs, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) HARDWARE_INTRINSIC(AVX10v2, ConvertToSByteWithTruncatedSaturationAndZeroExtendToInt32, -1, 1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvttps2ibs, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector128Int32, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_cvtpd2dq}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector128Single, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtqq2ps, INS_vcvtuqq2ps, INS_invalid, INS_cvtpd2ps}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector128UInt32, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtpd2udq}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector256Double, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtqq2pd, INS_vcvtuqq2pd, INS_invalid, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector256Int32, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_cvtps2dq, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector256Int64, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtps2qq, INS_vcvtpd2qq}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector256Single, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_cvtdq2ps, INS_vcvtudq2ps, INS_invalid, INS_invalid, INS_invalid, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector256UInt32, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtps2udq, INS_invalid}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, ConvertToVector256UInt64, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvtps2uqq, INS_vcvtpd2uqq}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) HARDWARE_INTRINSIC(AVX10v2, ConvertToVectorInt32WithTruncationSaturation, -1, 1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvttps2dqs, INS_vcvttpd2dqs}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) HARDWARE_INTRINSIC(AVX10v2, ConvertToVectorInt64WithTruncationSaturation, -1, 1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvttps2qqs, INS_vcvttpd2qqs}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) HARDWARE_INTRINSIC(AVX10v2, ConvertToVectorUInt32WithTruncationSaturation, -1, 1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvttps2udqs, INS_vcvttpd2udqs}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) HARDWARE_INTRINSIC(AVX10v2, ConvertToVectorUInt64WithTruncationSaturation, -1, 1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vcvttps2uqqs, INS_vcvttpd2uqqs}, HW_Category_SimpleSIMD, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) -HARDWARE_INTRINSIC(AVX10v2, Divide, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_divps, INS_divpd}, HW_Category_SimpleSIMD, HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) HARDWARE_INTRINSIC(AVX10v2, MinMax, -1, 3, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vminmaxps, INS_vminmaxpd}, HW_Category_IMM, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) HARDWARE_INTRINSIC(AVX10v2, MinMaxScalar, -1, 3, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vminmaxss, INS_vminmaxsd}, HW_Category_IMM, HW_Flag_BaseTypeFromFirstArg|HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible) HARDWARE_INTRINSIC(AVX10v2, MoveScalar, 16, -1, {INS_invalid, INS_invalid, INS_vmovw, INS_vmovw, INS_vmovd, INS_vmovd, INS_invalid, INS_invalid, INS_invalid, INS_invalid}, HW_Category_SIMDScalar, HW_Flag_NoContainment) -HARDWARE_INTRINSIC(AVX10v2, Multiply, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_mulps, INS_mulpd}, HW_Category_SimpleSIMD, HW_Flag_Commutative |HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, Scale, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_vscalefps, INS_vscalefpd}, HW_Category_SimpleSIMD, HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -HARDWARE_INTRINSIC(AVX10v2, Sqrt, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_sqrtps, INS_sqrtpd}, HW_Category_SimpleSIMD, HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) HARDWARE_INTRINSIC(AVX10v2, StoreScalar, 16, 2, {INS_invalid, INS_invalid, INS_vmovw, INS_vmovw, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid}, HW_Category_MemoryStore, HW_Flag_NoRMWSemantics|HW_Flag_BaseTypeFromSecondArg) -HARDWARE_INTRINSIC(AVX10v2, Subtract, 32, -1, {INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_invalid, INS_subps, INS_subpd}, HW_Category_SimpleSIMD, HW_Flag_EmbBroadcastCompatible|HW_Flag_EmbMaskingCompatible|HW_Flag_EmbRoundingCompatible) -#define LAST_NI_AVX10v2 NI_AVX10v2_Subtract +#define LAST_NI_AVX10v2 NI_AVX10v2_StoreScalar // *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** // ISA Function name SIMD size NumArg Instructions Category Flags diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v2.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v2.PlatformNotSupported.cs index 0ebb9b5ffc11ed..f35bcb189f6aec 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v2.PlatformNotSupported.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v2.PlatformNotSupported.cs @@ -49,26 +49,6 @@ internal Avx10v2() { } /// public static Vector128 MinMaxScalar(Vector128 left, Vector128 right, [ConstantExpected] byte control) { throw new PlatformNotSupportedException(); } - /// - /// VADDPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Add(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VADDPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Add(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VDIVPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Divide(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VDIVPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Divide(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - /// /// VCVTPS2IBS xmm1{k1}{z}, xmm2/m128/m32bcst /// @@ -79,11 +59,6 @@ internal Avx10v2() { } /// public static Vector256 ConvertToSByteWithSaturationAndZeroExtendToInt32(Vector256 value) { throw new PlatformNotSupportedException(); } - /// - /// VCVTPS2IBS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToSByteWithSaturationAndZeroExtendToInt32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - /// /// VCVTPS2IUBS xmm1{k1}{z}, xmm2/m128/m32bcst /// @@ -94,11 +69,6 @@ internal Avx10v2() { } /// public static Vector256 ConvertToByteWithSaturationAndZeroExtendToInt32(Vector256 value) { throw new PlatformNotSupportedException(); } - /// - /// VCVTPS2IUBS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToByteWithSaturationAndZeroExtendToInt32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - /// /// VCVTTPS2IBS xmm1{k1}{z}, xmm2/m128/m32bcst /// @@ -119,81 +89,6 @@ internal Avx10v2() { } /// public static Vector256 ConvertToByteWithTruncatedSaturationAndZeroExtendToInt32(Vector256 value) { throw new PlatformNotSupportedException(); } - /// - /// VCVTDQ2PS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToVector256Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPD2DQ xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128Int32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPD2PS xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPD2QQ ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 ConvertToVector256Int64(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPD2UDQ xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128UInt32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPD2UQQ ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 ConvertToVector256UInt64(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPS2DQ ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToVector256Int32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPS2QQ ymm1{k1}{z}, xmm2/m128/m32bcst {er} - /// - public static Vector256 ConvertToVector256Int64(Vector128 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPS2UDQ ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToVector256UInt32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTPS2UQQ ymm1{k1}{z}, xmm2/m128/m32bcst {er} - /// - public static Vector256 ConvertToVector256UInt64(Vector128 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTQQ2PS xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTQQ2PD ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 ConvertToVector256Double(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTUDQ2PS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToVector256Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTUQQ2PS xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VCVTUQQ2PD ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 ConvertToVector256Double(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - /// /// VMOVD xmm1, xmm2/m32 /// @@ -214,36 +109,6 @@ internal Avx10v2() { } /// public static Vector128 MoveScalar(Vector128 value) { throw new PlatformNotSupportedException(); } - /// - /// VMULPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Multiply(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VMULPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Multiply(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VSCALEFPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Scale(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VSCALEFPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Scale(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VSQRTPD ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 Sqrt(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VSQRTPS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 Sqrt(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - /// /// VMOVW xmm1/m16, xmm2 /// @@ -254,16 +119,6 @@ internal Avx10v2() { } /// public static unsafe void StoreScalar(ushort* address, Vector128 source) { throw new PlatformNotSupportedException(); } - /// - /// VSUBPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Subtract(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// VSUBPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Subtract(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw new PlatformNotSupportedException(); } - /// Provides access to the x86 AVX10.2 hardware instructions, that are only available to 64-bit processes, via intrinsics. public new abstract class X64 : Avx10v1.X64 { diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v2.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v2.cs index 9a1a76511b992f..a3c1a88477b6f6 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v2.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v2.cs @@ -58,11 +58,6 @@ internal Avx10v2() { } /// public static Vector256 ConvertToSByteWithSaturationAndZeroExtendToInt32(Vector256 value) => ConvertToSByteWithSaturationAndZeroExtendToInt32(value); - /// - /// VCVTPS2IBS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToSByteWithSaturationAndZeroExtendToInt32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToSByteWithSaturationAndZeroExtendToInt32(value, mode); - /// /// VCVTPS2IUBS xmm1{k1}{z}, xmm2/m128/m32bcst /// @@ -73,11 +68,6 @@ internal Avx10v2() { } /// public static Vector256 ConvertToByteWithSaturationAndZeroExtendToInt32(Vector256 value) => ConvertToByteWithSaturationAndZeroExtendToInt32(value); - /// - /// VCVTPS2IUBS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToByteWithSaturationAndZeroExtendToInt32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToByteWithSaturationAndZeroExtendToInt32(value, mode); - /// /// VCVTTPS2IBS xmm1{k1}{z}, xmm2/m128/m32bcst /// @@ -98,101 +88,6 @@ internal Avx10v2() { } /// public static Vector256 ConvertToByteWithTruncatedSaturationAndZeroExtendToInt32(Vector256 value) => ConvertToByteWithTruncatedSaturationAndZeroExtendToInt32(value); - /// - /// VADDPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Add(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Add(left, right, mode); - - /// - /// VADDPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Add(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Add(left, right, mode); - - /// - /// VDIVPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Divide(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Divide(left, right, mode); - - /// - /// VDIVPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Divide(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Divide(left, right, mode); - - /// - /// VCVTDQ2PS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToVector256Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256Single(value, mode); - - /// - /// VCVTPD2DQ xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128Int32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector128Int32(value, mode); - - /// - /// VCVTPD2PS xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector128Single(value, mode); - - /// - /// VCVTPD2QQ ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 ConvertToVector256Int64(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256Int64(value, mode); - - /// - /// VCVTPD2UDQ xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128UInt32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector128UInt32(value, mode); - - /// - /// VCVTPD2UQQ ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 ConvertToVector256UInt64(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256UInt64(value, mode); - - /// - /// VCVTPS2DQ ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToVector256Int32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256Int32(value, mode); - - /// - /// VCVTPS2QQ ymm1{k1}{z}, xmm2/m128/m32bcst {er} - /// - public static Vector256 ConvertToVector256Int64(Vector128 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256Int64(value, mode); - - /// - /// VCVTPS2UDQ ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToVector256UInt32(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256UInt32(value, mode); - - /// - /// VCVTPS2UQQ ymm1{k1}{z}, xmm2/m128/m32bcst {er} - /// - public static Vector256 ConvertToVector256UInt64(Vector128 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256UInt64(value, mode); - - /// - /// VCVTQQ2PS xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector128Single(value, mode); - - /// - /// VCVTQQ2PD ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 ConvertToVector256Double(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256Double(value, mode); - - /// - /// VCVTUDQ2PS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 ConvertToVector256Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256Single(value, mode); - - /// - /// VCVTUQQ2PS xmm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector128 ConvertToVector128Single(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector128Single(value, mode); - - /// - /// VCVTUQQ2PD ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 ConvertToVector256Double(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => ConvertToVector256Double(value, mode); - /// /// VMOVD xmm1, xmm2/m32 /// @@ -213,36 +108,6 @@ internal Avx10v2() { } /// public static Vector128 MoveScalar(Vector128 value) => MoveScalar(value); - /// - /// VMULPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Multiply(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Multiply(left, right, mode); - - /// - /// VMULPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Multiply(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Multiply(left, right, mode); - - /// - /// VSCALEFPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Scale(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Scale(left, right, mode); - - /// - /// VSCALEFPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Scale(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Scale(left, right, mode); - - /// - /// VSQRTPD ymm1{k1}{z}, ymm2/m256/m64bcst {er} - /// - public static Vector256 Sqrt(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Sqrt(value, mode); - - /// - /// VSQRTPS ymm1{k1}{z}, ymm2/m256/m32bcst {er} - /// - public static Vector256 Sqrt(Vector256 value, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Sqrt(value, mode); - /// /// VMOVW xmm1/m16, xmm2 /// @@ -253,16 +118,6 @@ internal Avx10v2() { } /// public static unsafe void StoreScalar(ushort* address, Vector128 source) => StoreScalar(address, source); - /// - /// VSUBPD ymm1{k1}{z}, ymm2, ymm3/m256/m64bcst {er} - /// - public static Vector256 Subtract(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Subtract(left, right, mode); - - /// - /// VSUBPS ymm1{k1}{z}, ymm2, ymm3/m256/m32bcst {er} - /// - public static Vector256 Subtract(Vector256 left, Vector256 right, [ConstantExpected(Max = FloatRoundingMode.ToZero)] FloatRoundingMode mode) => Subtract(left, right, mode); - /// Provides access to the x86 AVX10.2 hardware instructions, that are only available to 64-bit processes, via intrinsics. [Intrinsic] public new abstract class X64 : Avx10v1.X64 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 bfa28b6b1094a3..02984d153ab9fd 100644 --- a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs +++ b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs @@ -7237,50 +7237,20 @@ internal Avx10v2() { } public static System.Runtime.Intrinsics.Vector256 MinMax(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpectedAttribute] byte control) { throw null; } public static System.Runtime.Intrinsics.Vector128 MinMaxScalar(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right, [ConstantExpected] byte control) { throw null; } public static System.Runtime.Intrinsics.Vector128 MinMaxScalar(System.Runtime.Intrinsics.Vector128 left, System.Runtime.Intrinsics.Vector128 right, [ConstantExpected] byte control) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Add(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Add(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Divide(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Divide(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } public static System.Runtime.Intrinsics.Vector128 ConvertToSByteWithSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector128 value) { throw null; } public static System.Runtime.Intrinsics.Vector256 ConvertToSByteWithSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector256 value) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToSByteWithSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } public static System.Runtime.Intrinsics.Vector128 ConvertToByteWithSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector128 value) { throw null; } public static System.Runtime.Intrinsics.Vector256 ConvertToByteWithSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector256 value) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToByteWithSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } public static System.Runtime.Intrinsics.Vector128 ConvertToSByteWithTruncatedSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector128 value) { throw null; } public static System.Runtime.Intrinsics.Vector256 ConvertToSByteWithTruncatedSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector256 value) { throw null; } public static System.Runtime.Intrinsics.Vector128 ConvertToByteWithTruncatedSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector128 value) { throw null; } public static System.Runtime.Intrinsics.Vector256 ConvertToByteWithTruncatedSaturationAndZeroExtendToInt32(System.Runtime.Intrinsics.Vector256 value) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256Single(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector128 ConvertToVector128Int32(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector128 ConvertToVector128Single(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256Int64(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector128 ConvertToVector128UInt32(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256UInt64(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256Int32(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256Int64(System.Runtime.Intrinsics.Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256UInt32(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256UInt64(System.Runtime.Intrinsics.Vector128 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector128 ConvertToVector128Single(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256Double(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256Single(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector128 ConvertToVector128Single(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 ConvertToVector256Double(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } public static System.Runtime.Intrinsics.Vector128 MoveScalar(System.Runtime.Intrinsics.Vector128 value) { throw null; } public static System.Runtime.Intrinsics.Vector128 MoveScalar(System.Runtime.Intrinsics.Vector128 value) { throw null; } public static System.Runtime.Intrinsics.Vector128 MoveScalar(System.Runtime.Intrinsics.Vector128 value) { throw null; } public static System.Runtime.Intrinsics.Vector128 MoveScalar(System.Runtime.Intrinsics.Vector128 value) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Multiply(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Multiply(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Scale(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Scale(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Sqrt(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Sqrt(System.Runtime.Intrinsics.Vector256 value, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } public static unsafe void StoreScalar(short* address, System.Runtime.Intrinsics.Vector128 source) { throw null; } public static unsafe void StoreScalar(ushort* address, System.Runtime.Intrinsics.Vector128 source) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Subtract(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public static System.Runtime.Intrinsics.Vector256 Subtract(System.Runtime.Intrinsics.Vector256 left, System.Runtime.Intrinsics.Vector256 right, [System.Diagnostics.CodeAnalysis.ConstantExpected(Max = System.Runtime.Intrinsics.X86.FloatRoundingMode.ToZero)] FloatRoundingMode mode) { throw null; } - public new abstract partial class X64 : System.Runtime.Intrinsics.X86.Avx10v1.X64 { internal X64() { } diff --git a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs index 5a71f3ccd3d7d3..1138eb6b4cd05a 100644 --- a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs +++ b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs @@ -1739,12 +1739,6 @@ ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToByteWithSaturationAndZeroExtendToInt32", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != ((int)(byte)Math.Clamp(Math.Round(firstOp[0]), byte.MinValue, byte.MaxValue)& 0x000000ff)", ["ValidateRemainingResults"] = "result[i] != ((int)(byte)Math.Clamp(Math.Round(firstOp[i]), byte.MinValue, byte.MaxValue) & 0x000000ff)"}), ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToSByteWithTruncatedSaturationAndZeroExtendToInt32",["RetVectorType"] = "Vector128",["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != ((int)(sbyte)Math.Clamp(firstOp[0], sbyte.MinValue, sbyte.MaxValue)& 0x000000ff)", ["ValidateRemainingResults"] = "result[i] != ((int)(sbyte)Math.Clamp(firstOp[i], sbyte.MinValue, sbyte.MaxValue) & 0x000000ff)"}), ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToByteWithTruncatedSaturationAndZeroExtendToInt32",["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != ((int)(byte)Math.Clamp(firstOp[0], byte.MinValue, byte.MaxValue)& 0x000000ff)", ["ValidateRemainingResults"] = "result[i] != ((int)(byte)Math.Clamp(firstOp[i], byte.MinValue, byte.MaxValue) & 0x000000ff)"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToSByteWithSaturationAndZeroExtendToInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "0.65", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToSByteWithSaturationAndZeroExtendToInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "0.65", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToSByteWithSaturationAndZeroExtendToInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "0.65", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToByteWithSaturationAndZeroExtendToInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "27.35", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToByteWithSaturationAndZeroExtendToInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "27.35", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToByteWithSaturationAndZeroExtendToInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "27.35", ["LargestVectorSize"] = "32"}), ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMax", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "0", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != (left[0] / Math.Abs(left[0])) * (Math.Min(left[0], right[0]))", ["ValidateRemainingResults"] = "result[i] != (left[i] / Math.Abs(left[i])) * (Math.Min(left[i], right[i]))"}), ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMax", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["Imm"] = "0", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != (left[0] / Math.Abs(left[0])) * (Math.Min(left[0], right[0]))", ["ValidateRemainingResults"] = "result[i] != (left[i] / Math.Abs(left[i])) * (Math.Min(left[i], right[i]))"}), ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMax", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "1", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != (left[0] / Math.Abs(left[0])) * (Math.Max(left[0], right[0]))", ["ValidateRemainingResults"] = "result[i] != (left[i] / Math.Abs(left[i])) * (Math.Max(left[i], right[i]))"}), @@ -1809,98 +1803,20 @@ ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMax", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["Imm"] = "14", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != -1.0 * (((Math.Abs(left[0]) < Math.Abs(right[0])) ? left[0] : right[0]))", ["ValidateRemainingResults"] = "result[i] != -1.0 * (((Math.Abs(left[i]) < Math.Abs(right[i])) ? left[i] : right[i]))"}), ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMax", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "15", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != -1.0 * (((Math.Abs(left[0]) > Math.Abs(right[0])) ? left[0] : right[0]))", ["ValidateRemainingResults"] = "result[i] != -1.0 * (((Math.Abs(left[i]) > Math.Abs(right[i])) ? left[i] : right[i]))"}), ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMax", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["Imm"] = "15", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != -1.0 * (((Math.Abs(left[0]) > Math.Abs(right[0])) ? left[0] : right[0]))", ["ValidateRemainingResults"] = "result[i] != -1.0 * (((Math.Abs(left[i]) > Math.Abs(right[i])) ? left[i] : right[i]))"}), - ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "0", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != Math.Min(left[0], right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), - ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "0", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != Math.Min(left[0], right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), - ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "1", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != Math.Max(left[0], right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), - ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "1", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != Math.Max(left[0], right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), - ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "2", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != ((Math.Abs(left[0]) < Math.Abs(right[0])) ? left[0] : right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), - ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "2", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != ((Math.Abs(left[0]) < Math.Abs(right[0])) ? left[0] : right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), - ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "3", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != ((Math.Abs(left[0]) > Math.Abs(right[0])) ? left[0] : right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), - ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "3", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != ((Math.Abs(left[0]) > Math.Abs(right[0])) ? left[0] : right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), - ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "result[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != ((i == 0) ? result[i] : 0)"}), - ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateFirstResult"] = "result[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != ((i == 0) ? result[i] : 0)"}), - ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["ValidateFirstResult"] = "result[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != ((i == 0) ? result[i] : 0)"}), - ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["ValidateFirstResult"] = "result[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != ((i == 0) ? result[i] : 0)"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Add", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Add", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Add", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Add", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Add", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Add", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Int32", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Int32", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Int32", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Single", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int64", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Single", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int64", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Single", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int64", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Single", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt64", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Single", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt64", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Single", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt64", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128UInt32", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128UInt32", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128UInt32", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Double", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int64", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Double", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int64", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Double", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int64", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Double", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt64", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Double", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt64", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Double", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt64", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "10", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Single", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int32", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Single", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int32", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Single", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int32", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Single", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt32", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Single", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt32", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Single", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt32", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt32", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256UInt64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "(ulong)", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Multiply", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Multiply", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Multiply", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Multiply", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Multiply", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Multiply", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Divide", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Divide", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Divide", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Divide", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Divide", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Divide", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Scale", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Scale", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Scale", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Scale", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Scale", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Scale", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Sqrt", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Sqrt", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Sqrt", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "BitConverter.DoubleToUInt64Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Sqrt", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Sqrt", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("SimpleUnaryOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Sqrt", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "BitConverter.SingleToUInt32Bits", ["FixedInput"] = "29.37", ["LargestVectorSize"] = "32"}), - ("StoreUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "StoreScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["ValidateFirstResult"] = "value[0] != result[0]", ["ValidateRemainingResults"] = "0 != result[i]"}), - ("StoreUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "StoreScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["ValidateFirstResult"] = "value[0] != result[0]", ["ValidateRemainingResults"] = "0 != result[i]"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Subtract", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Subtract", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Subtract", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Double", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "DoubleToUInt64Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Subtract", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToNegativeInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Subtract", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToPositiveInfinity", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), - ("SimpleBinOpEmbRounding.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "Subtract", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector256", ["Op2BaseType"] = "Single", ["RoundingMode"] = "ToZero", ["CastingMethod"] = "SingleToUInt32Bits", ["FixedInput1"] = "0.05", ["FixedInput2"] = "0.45", ["LargestVectorSize"] = "32"}), + ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "0", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != Math.Min(left[0], right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), + ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "0", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != Math.Min(left[0], right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), + ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "1", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != Math.Max(left[0], right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), + ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "1", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != Math.Max(left[0], right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), + ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "2", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != ((Math.Abs(left[0]) < Math.Abs(right[0])) ? left[0] : right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), + ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "2", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != ((Math.Abs(left[0]) < Math.Abs(right[0])) ? left[0] : right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), + ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Double", ["Imm"] = "3", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != ((Math.Abs(left[0]) > Math.Abs(right[0])) ? left[0] : right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), + ("ImmBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MinMaxScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "Single", ["Imm"] = "3", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "result[0] != ((Math.Abs(left[0]) > Math.Abs(right[0])) ? left[0] : right[0])", ["ValidateRemainingResults"] = "result[i] != left[i]"}), + ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "result[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != ((i == 0) ? result[i] : 0)"}), + ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateFirstResult"] = "result[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != ((i == 0) ? result[i] : 0)"}), + ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["ValidateFirstResult"] = "result[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != ((i == 0) ? result[i] : 0)"}), + ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["ValidateFirstResult"] = "result[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != ((i == 0) ? result[i] : 0)"}), + ("StoreUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "StoreScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt16()", ["ValidateFirstResult"] = "value[0] != result[0]", ["ValidateRemainingResults"] = "0 != result[i]"}), + ("StoreUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v2", ["LoadIsa"] = "Avx10v1", ["Method"] = "StoreScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt16", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt16", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt16()", ["ValidateFirstResult"] = "value[0] != result[0]", ["ValidateRemainingResults"] = "0 != result[i]"}), }; (string templateFileName, Dictionary templateData)[] Avx10v2_V512Inputs = new [] diff --git a/src/tests/JIT/HardwareIntrinsics/X86/Shared/SimpleBinOpEmbRounding.template b/src/tests/JIT/HardwareIntrinsics/X86/Shared/SimpleBinOpEmbRounding.template index f0dd9a7e4db87f..e676c6068da500 100644 --- a/src/tests/JIT/HardwareIntrinsics/X86/Shared/SimpleBinOpEmbRounding.template +++ b/src/tests/JIT/HardwareIntrinsics/X86/Shared/SimpleBinOpEmbRounding.template @@ -418,36 +418,6 @@ namespace JIT.HardwareIntrinsics.X86 {("Avx512F", "Single", "ScaleScalar", "ToPositiveInfinity"), new ulong[] {0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd}}, {("Avx512F", "Double", "ScaleScalar", "ToZero"), new ulong[] {0x3fa999999999999a, 0x3fa999999999999a}}, {("Avx512F", "Single", "ScaleScalar", "ToZero"), new ulong[] {0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd}}, - {("Avx10v2", "Double", "Subtract", "ToNegativeInfinity"), new ulong[] {0xbfd999999999999a, 0xbfd999999999999a, 0xbfd999999999999a, 0xbfd999999999999a}}, - {("Avx10v2", "Single", "Subtract", "ToNegativeInfinity"), new ulong[] {0xbecccccd, 0xbecccccd, 0xbecccccd, 0xbecccccd, 0xbecccccd, 0xbecccccd, 0xbecccccd, 0xbecccccd}}, - {("Avx10v2", "Double", "Subtract", "ToPositiveInfinity"), new ulong[] {0xbfd9999999999999, 0xbfd9999999999999, 0xbfd9999999999999, 0xbfd9999999999999}}, - {("Avx10v2", "Single", "Subtract", "ToPositiveInfinity"), new ulong[] {0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc}}, - {("Avx10v2", "Double", "Subtract", "ToZero"), new ulong[] {0xbfd9999999999999, 0xbfd9999999999999, 0xbfd9999999999999, 0xbfd9999999999999}}, - {("Avx10v2", "Single", "Subtract", "ToZero"), new ulong[] {0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc, 0xbecccccc}}, - {("Avx10v2", "Double", "Add", "ToNegativeInfinity"), new ulong[] {0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000}}, - {("Avx10v2", "Single", "Add", "ToNegativeInfinity"), new ulong[] {0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff}}, - {("Avx10v2", "Double", "Add", "ToPositiveInfinity"), new ulong[] {0x3fe0000000000001, 0x3fe0000000000001, 0x3fe0000000000001, 0x3fe0000000000001}}, - {("Avx10v2", "Single", "Add", "ToPositiveInfinity"), new ulong[] {0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000}}, - {("Avx10v2", "Double", "Add", "ToZero"), new ulong[] {0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000}}, - {("Avx10v2", "Single", "Add", "ToZero"), new ulong[] {0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff, 0x3effffff}}, - {("Avx10v2", "Double", "Divide", "ToNegativeInfinity"), new ulong[] {0x3fbc71c71c71c71c, 0x3fbc71c71c71c71c, 0x3fbc71c71c71c71c, 0x3fbc71c71c71c71c}}, - {("Avx10v2", "Single", "Divide", "ToNegativeInfinity"), new ulong[] {0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39}}, - {("Avx10v2", "Double", "Divide", "ToPositiveInfinity"), new ulong[] {0x3fbc71c71c71c71d, 0x3fbc71c71c71c71d, 0x3fbc71c71c71c71d, 0x3fbc71c71c71c71d}}, - {("Avx10v2", "Single", "Divide", "ToPositiveInfinity"), new ulong[] {0x3de38e3a, 0x3de38e3a, 0x3de38e3a, 0x3de38e3a, 0x3de38e3a, 0x3de38e3a, 0x3de38e3a, 0x3de38e3a}}, - {("Avx10v2", "Double", "Divide", "ToZero"), new ulong[] {0x3fbc71c71c71c71c, 0x3fbc71c71c71c71c, 0x3fbc71c71c71c71c, 0x3fbc71c71c71c71c}}, - {("Avx10v2", "Single", "Divide", "ToZero"), new ulong[] {0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39, 0x3de38e39}}, - {("Avx10v2", "Double", "Multiply", "ToNegativeInfinity"), new ulong[] {0x3f970a3d70a3d70a, 0x3f970a3d70a3d70a, 0x3f970a3d70a3d70a, 0x3f970a3d70a3d70a}}, - {("Avx10v2", "Single", "Multiply", "ToNegativeInfinity"), new ulong[] {0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb}}, - {("Avx10v2", "Double", "Multiply", "ToPositiveInfinity"), new ulong[] {0x3f970a3d70a3d70b, 0x3f970a3d70a3d70b, 0x3f970a3d70a3d70b, 0x3f970a3d70a3d70b}}, - {("Avx10v2", "Single", "Multiply", "ToPositiveInfinity"), new ulong[] {0x3cb851ec, 0x3cb851ec, 0x3cb851ec, 0x3cb851ec, 0x3cb851ec, 0x3cb851ec, 0x3cb851ec, 0x3cb851ec}}, - {("Avx10v2", "Double", "Multiply", "ToZero"), new ulong[] {0x3f970a3d70a3d70a, 0x3f970a3d70a3d70a, 0x3f970a3d70a3d70a, 0x3f970a3d70a3d70a}}, - {("Avx10v2", "Single", "Multiply", "ToZero"), new ulong[] {0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb, 0x3cb851eb}}, - {("Avx10v2", "Double", "Scale", "ToNegativeInfinity"), new ulong[] {0x3fa999999999999a, 0x3fa999999999999a, 0x3fa999999999999a, 0x3fa999999999999a}}, - {("Avx10v2", "Single", "Scale", "ToNegativeInfinity"), new ulong[] {0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd}}, - {("Avx10v2", "Double", "Scale", "ToPositiveInfinity"), new ulong[] {0x3fa999999999999a, 0x3fa999999999999a, 0x3fa999999999999a, 0x3fa999999999999a}}, - {("Avx10v2", "Single", "Scale", "ToPositiveInfinity"), new ulong[] {0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd}}, - {("Avx10v2", "Double", "Scale", "ToZero"), new ulong[] {0x3fa999999999999a, 0x3fa999999999999a, 0x3fa999999999999a, 0x3fa999999999999a}}, - {("Avx10v2", "Single", "Scale", "ToZero"), new ulong[] {0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd, 0x3d4ccccd}}, }; } } diff --git a/src/tests/JIT/HardwareIntrinsics/X86/Shared/SimpleUnaryOpEmbRounding.template b/src/tests/JIT/HardwareIntrinsics/X86/Shared/SimpleUnaryOpEmbRounding.template index 5dc9793a6290d8..cb6828b088211f 100644 --- a/src/tests/JIT/HardwareIntrinsics/X86/Shared/SimpleUnaryOpEmbRounding.template +++ b/src/tests/JIT/HardwareIntrinsics/X86/Shared/SimpleUnaryOpEmbRounding.template @@ -361,60 +361,6 @@ namespace JIT.HardwareIntrinsics.X86 {("Avx10v1.V512", "Single", "UInt64", "ConvertToVector512UInt64", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d}}, {("Avx10v1.V512", "Single", "UInt64", "ConvertToVector512UInt64", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e}}, {("Avx10v1.V512", "Single", "UInt64", "ConvertToVector512UInt64", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Double", "Double", "Sqrt", "ToNegativeInfinity"), new ulong[] {0x4015ad79b34092ec, 0x4015ad79b34092ec, 0x4015ad79b34092ec, 0x4015ad79b34092ec}}, - {("Avx10v2", "Single", "Single", "Sqrt", "ToNegativeInfinity"), new ulong[] {0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd}}, - {("Avx10v2", "Double", "Double", "Sqrt", "ToPositiveInfinity"), new ulong[] {0x4015ad79b34092ed, 0x4015ad79b34092ed, 0x4015ad79b34092ed, 0x4015ad79b34092ed}}, - {("Avx10v2", "Single", "Single", "Sqrt", "ToPositiveInfinity"), new ulong[] {0x40ad6bce, 0x40ad6bce, 0x40ad6bce, 0x40ad6bce, 0x40ad6bce, 0x40ad6bce, 0x40ad6bce, 0x40ad6bce}}, - {("Avx10v2", "Double", "Double", "Sqrt", "ToZero"), new ulong[] {0x4015ad79b34092ec, 0x4015ad79b34092ec, 0x4015ad79b34092ec, 0x4015ad79b34092ec}}, - {("Avx10v2", "Single", "Single", "Sqrt", "ToZero"), new ulong[] {0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd, 0x40ad6bcd}}, - {("Avx10v2", "Double", "Int32", "ConvertToVector128Int32", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Double", "Int32", "ConvertToVector128Int32", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e}}, - {("Avx10v2", "Double", "Int32", "ConvertToVector128Int32", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Int64", "Single", "ConvertToVector128Single", "ToNegativeInfinity"), new ulong[] {0x41200000, 0x41200000, 0x41200000, 0x41200000}}, - {("Avx10v2", "Int64", "Single", "ConvertToVector128Single", "ToPositiveInfinity"), new ulong[] {0x41200000, 0x41200000, 0x41200000, 0x41200000}}, - {("Avx10v2", "Int64", "Single", "ConvertToVector128Single", "ToZero"), new ulong[] {0x41200000, 0x41200000, 0x41200000, 0x41200000}}, - {("Avx10v2", "UInt64", "Single", "ConvertToVector128Single", "ToNegativeInfinity"), new ulong[] {0x41200000, 0x41200000, 0x41200000, 0x41200000}}, - {("Avx10v2", "UInt64", "Single", "ConvertToVector128Single", "ToPositiveInfinity"), new ulong[] {0x41200000, 0x41200000, 0x41200000, 0x41200000}}, - {("Avx10v2", "UInt64", "Single", "ConvertToVector128Single", "ToZero"), new ulong[] {0x41200000, 0x41200000, 0x41200000, 0x41200000}}, - {("Avx10v2", "Double", "UInt32", "ConvertToVector128UInt32", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Double", "UInt32", "ConvertToVector128UInt32", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e}}, - {("Avx10v2", "Double", "UInt32", "ConvertToVector128UInt32", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Int64", "Double", "ConvertToVector256Double", "ToNegativeInfinity"), new ulong[] {0x4024000000000000, 0x4024000000000000, 0x4024000000000000, 0x4024000000000000}}, - {("Avx10v2", "Int64", "Double", "ConvertToVector256Double", "ToPositiveInfinity"), new ulong[] {0x4024000000000000, 0x4024000000000000, 0x4024000000000000, 0x4024000000000000}}, - {("Avx10v2", "Int64", "Double", "ConvertToVector256Double", "ToZero"), new ulong[] {0x4024000000000000, 0x4024000000000000, 0x4024000000000000, 0x4024000000000000}}, - {("Avx10v2", "UInt64", "Double", "ConvertToVector256Double", "ToNegativeInfinity"), new ulong[] {0x4024000000000000, 0x4024000000000000, 0x4024000000000000, 0x4024000000000000}}, - {("Avx10v2", "UInt64", "Double", "ConvertToVector256Double", "ToPositiveInfinity"), new ulong[] {0x4024000000000000, 0x4024000000000000, 0x4024000000000000, 0x4024000000000000}}, - {("Avx10v2", "UInt64", "Double", "ConvertToVector256Double", "ToZero"), new ulong[] {0x4024000000000000, 0x4024000000000000, 0x4024000000000000, 0x4024000000000000}}, - {("Avx10v2", "Single", "Int32", "ConvertToVector256Int32", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Single", "Int32", "ConvertToVector256Int32", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e}}, - {("Avx10v2", "Single", "Int32", "ConvertToVector256Int32", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Double", "Int64", "ConvertToVector256Int64", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Double", "Int64", "ConvertToVector256Int64", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e}}, - {("Avx10v2", "Double", "Int64", "ConvertToVector256Int64", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Single", "Int64", "ConvertToVector256Int64", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Single", "Int64", "ConvertToVector256Int64", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e}}, - {("Avx10v2", "Single", "Int64", "ConvertToVector256Int64", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "UInt32", "Single", "ConvertToVector256Single", "ToNegativeInfinity"), new ulong[] {0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000}}, - {("Avx10v2", "UInt32", "Single", "ConvertToVector256Single", "ToPositiveInfinity"), new ulong[] {0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000}}, - {("Avx10v2", "UInt32", "Single", "ConvertToVector256Single", "ToZero"), new ulong[] {0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000}}, - {("Avx10v2", "Int32", "Single", "ConvertToVector256Single", "ToNegativeInfinity"), new ulong[] {0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000}}, - {("Avx10v2", "Int32", "Single", "ConvertToVector256Single", "ToPositiveInfinity"), new ulong[] {0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000}}, - {("Avx10v2", "Int32", "Single", "ConvertToVector256Single", "ToZero"), new ulong[] {0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000, 0x41e80000}}, - {("Avx10v2", "Single", "UInt32", "ConvertToVector256UInt32", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Single", "UInt32", "ConvertToVector256UInt32", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e}}, - {("Avx10v2", "Single", "UInt32", "ConvertToVector256UInt32", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Double", "UInt64", "ConvertToVector256UInt64", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Double", "UInt64", "ConvertToVector256UInt64", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e}}, - {("Avx10v2", "Double", "UInt64", "ConvertToVector256UInt64", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Single", "UInt64", "ConvertToVector256UInt64", "ToNegativeInfinity"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Single", "UInt64", "ConvertToVector256UInt64", "ToPositiveInfinity"), new ulong[] {0x1e, 0x1e, 0x1e, 0x1e}}, - {("Avx10v2", "Single", "UInt64", "ConvertToVector256UInt64", "ToZero"), new ulong[] {0x1d, 0x1d, 0x1d, 0x1d}}, - {("Avx10v2", "Single", "Int32", "ConvertToSByteWithSaturationAndZeroExtendToInt32", "ToNegativeInfinity"), new ulong[] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {("Avx10v2", "Single", "Int32", "ConvertToSByteWithSaturationAndZeroExtendToInt32", "ToPositiveInfinity"), new ulong[] {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}}, - {("Avx10v2", "Single", "Int32", "ConvertToSByteWithSaturationAndZeroExtendToInt32", "ToZero"), new ulong[] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, - {("Avx10v2", "Single", "Int32", "ConvertToByteWithSaturationAndZeroExtendToInt32", "ToNegativeInfinity"), new ulong[] {0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b}}, - {("Avx10v2", "Single", "Int32", "ConvertToByteWithSaturationAndZeroExtendToInt32", "ToPositiveInfinity"), new ulong[] {0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c}}, - {("Avx10v2", "Single", "Int32", "ConvertToByteWithSaturationAndZeroExtendToInt32", "ToZero"), new ulong[] {0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b}}, {("Avx10v2.V512", "Single", "Int32", "ConvertToSByteWithSaturationAndZeroExtendToInt32", "ToNegativeInfinity"), new ulong[] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, {("Avx10v2.V512", "Single", "Int32", "ConvertToSByteWithSaturationAndZeroExtendToInt32", "ToPositiveInfinity"), new ulong[] {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}}, {("Avx10v2.V512", "Single", "Int32", "ConvertToSByteWithSaturationAndZeroExtendToInt32", "ToZero"), new ulong[] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},