diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v1.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v1.PlatformNotSupported.cs
index 0b0c2b622496b..42245d35b6357 100644
--- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v1.PlatformNotSupported.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v1.PlatformNotSupported.cs
@@ -8,7 +8,7 @@
namespace System.Runtime.Intrinsics.X86
{
- /// This class provides access to X86 AVX512BW hardware instructions via intrinsics
+ /// This class provides access to X86 Avx10.1 hardware instructions via intrinsics
[CLSCompliant(false)]
public abstract class Avx10v1 : Avx2
{
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v1.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v1.cs
index e4eadebf31fdd..f21e3cb0cfd68 100644
--- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v1.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx10v1.cs
@@ -6,7 +6,7 @@
namespace System.Runtime.Intrinsics.X86
{
- /// This class provides access to X86 AVX512BW hardware instructions via intrinsics
+ /// This class provides access to X86 AVX10.1 hardware instructions via intrinsics
[Intrinsic]
[CLSCompliant(false)]
public abstract class Avx10v1 : Avx2
@@ -2640,7 +2640,6 @@ internal V512() { }
public static new bool IsSupported { get => IsSupported; }
- //from avx512cd starts
///
/// __m512i _mm512_conflict_epi32 (__m512i a)
/// VPCONFLICTD zmm1 {k1}{z}, zmm2/m512/m32bcst
@@ -2688,9 +2687,7 @@ internal V512() { }
/// VPLZCNTQ zmm1 {k1}{z}, zmm2/m512/m64bcst
///
public static Vector512 LeadingZeroCount(Vector512 value) => LeadingZeroCount(value);
- //from avx512cd ends
- //from avx512dq starts
///
/// __m512 _mm512_and_ps (__m512 a, __m512 b)
/// VANDPS zmm1 {k1}{z}, zmm2, zmm3/m512/m32bcst
@@ -3020,9 +3017,7 @@ internal V512() { }
/// VXORPD zmm1 {k1}{z}, zmm2, zmm3/m512/m64bcst
///
public static Vector512 Xor(Vector512 left, Vector512 right) => Xor(left, right);
- //from avx512dq ends
- //from avx512vbmi starts
///
/// __m512i _mm512_permutevar64x8_epi8 (__m512i a, __m512i b)
/// VPERMB zmm1 {k1}{z}, zmm2, zmm3/m512
@@ -3048,7 +3043,6 @@ internal V512() { }
/// VPERMT2B zmm1 {k1}{z}, zmm2, zmm3/m512
///
public static Vector512 PermuteVar64x8x2(Vector512 lower, Vector512 indices, Vector512 upper) => PermuteVar64x8x2(lower, indices, upper);
- //from avx512vbmi ends
}
}
}
diff --git a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs
index f5f92c2bd783c..406a3a93b6bd4 100644
--- a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs
+++ b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs
@@ -2842,8 +2842,8 @@
(string templateFileName, Dictionary templateData)[] Avx10v1_Avx512DQ_VL_Vector128Inputs = new []
{
- ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector128", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
- ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector128", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
+ ("BroadcastTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector128", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
+ ("BroadcastTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector128", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
("SimpleUnOpConvTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Double", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(result[0]) != BitConverter.DoubleToInt64Bits(firstOp[0])", ["ValidateRemainingResults"] = "BitConverter.DoubleToInt64Bits(result[i]) != BitConverter.DoubleToInt64Bits(firstOp[i])"}),
("SimpleUnOpConvTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Double", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "(TestLibrary.Generator.GetUInt64() & 0x7FFF_FFFF_FFFF_FFFFUL)", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(result[0]) != BitConverter.DoubleToInt64Bits(firstOp[0])", ["ValidateRemainingResults"] = "BitConverter.DoubleToInt64Bits(result[i]) != BitConverter.DoubleToInt64Bits(firstOp[i])"}),
("SimpleUnOpConvTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector128Int64", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != (long)double.Round(firstOp[0])", ["ValidateRemainingResults"] = "result[i] != (long)double.Round(firstOp[i])"}),
@@ -3119,9 +3119,9 @@
(string templateFileName, Dictionary templateData)[] Avx10v1_Avx512DQ_VL_Vector256Inputs = new []
{
- ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector256", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
- ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector256", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
- ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector256", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(firstOp[0]) != BitConverter.DoubleToInt64Bits(result[0])", ["ValidateRemainingResults"] = "(BitConverter.SingleToInt32Bits(result[i]) != BitConverter.SingleToInt32Bits(firstOp[i & 1]))"}),
+ ("BroadcastTest.template", new Dictionary { ["Isa"] = "Avx512DQ.VL", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector256", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
+ ("BroadcastTest.template", new Dictionary { ["Isa"] = "Avx512DQ.VL", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector256", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
+ ("BroadcastTest.template", new Dictionary { ["Isa"] = "Avx512DQ.VL", ["LoadIsa"] = "Avx10v1", ["Method"] = "BroadcastPairScalarToVector256", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(firstOp[0]) != BitConverter.DoubleToInt64Bits(result[0])", ["ValidateRemainingResults"] = "(BitConverter.SingleToInt32Bits(result[i]) != BitConverter.SingleToInt32Bits(firstOp[i & 1]))"}),
("SimpleUnOpConvTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Double", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(result[0]) != BitConverter.DoubleToInt64Bits(firstOp[0])", ["ValidateRemainingResults"] = "BitConverter.DoubleToInt64Bits(result[i]) != BitConverter.DoubleToInt64Bits(firstOp[i])"}),
("SimpleUnOpConvTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Double", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "(TestLibrary.Generator.GetUInt64() & 0x7FFF_FFFF_FFFF_FFFFUL)", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(result[0]) != BitConverter.DoubleToInt64Bits(firstOp[0])", ["ValidateRemainingResults"] = "BitConverter.DoubleToInt64Bits(result[i]) != BitConverter.DoubleToInt64Bits(firstOp[i])"}),
("SimpleUnOpConvTest.template", new Dictionary { ["Isa"] = "Avx10v1", ["LoadIsa"] = "Avx10v1", ["Method"] = "ConvertToVector256Int64", ["RetVectorType"] = "Vector256", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector256", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "32", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "result[0] != (long)double.Round(firstOp[0])", ["ValidateRemainingResults"] = "result[i] != (long)double.Round(firstOp[i])"}),
@@ -3796,9 +3796,9 @@
("SimpleBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "And", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector512", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector512", ["Op2BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "(BitConverter.SingleToInt32Bits(left[0]) & BitConverter.SingleToInt32Bits(right[0])) != BitConverter.SingleToInt32Bits(result[0])", ["ValidateRemainingResults"] = "(BitConverter.SingleToInt32Bits(left[i]) & BitConverter.SingleToInt32Bits(right[i])) != BitConverter.SingleToInt32Bits(result[i])"}),
("SimpleBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "AndNot", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector512", ["Op1BaseType"] = "Double", ["Op2VectorType"] = "Vector512", ["Op2BaseType"] = "Double", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["NextValueOp2"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "((~BitConverter.DoubleToInt64Bits(left[0])) & BitConverter.DoubleToInt64Bits(right[0])) != BitConverter.DoubleToInt64Bits(result[0])", ["ValidateRemainingResults"] = "((~BitConverter.DoubleToInt64Bits(left[i])) & BitConverter.DoubleToInt64Bits(right[i])) != BitConverter.DoubleToInt64Bits(result[i])"}),
("SimpleBinOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "AndNot", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector512", ["Op1BaseType"] = "Single", ["Op2VectorType"] = "Vector512", ["Op2BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["NextValueOp2"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "((~BitConverter.SingleToInt32Bits(left[0])) & BitConverter.SingleToInt32Bits(right[0])) != BitConverter.SingleToInt32Bits(result[0])", ["ValidateRemainingResults"] = "((~BitConverter.SingleToInt32Bits(left[i])) & BitConverter.SingleToInt32Bits(right[i])) != BitConverter.SingleToInt32Bits(result[i])"}),
- ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "BroadcastPairScalarToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
- ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "BroadcastPairScalarToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
- ("SimpleUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "BroadcastPairScalarToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(firstOp[0]) != BitConverter.DoubleToInt64Bits(result[0])", ["ValidateRemainingResults"] = "(BitConverter.SingleToInt32Bits(result[i]) != BitConverter.SingleToInt32Bits(firstOp[i & 1]))"}),
+ ("BroadcastTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "BroadcastPairScalarToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Int32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
+ ("BroadcastTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "BroadcastPairScalarToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt32()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "(result[i] != firstOp[i & 1])"}),
+ ("BroadcastTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["LoadIsa"] = "Avx10v1.V512", ["Method"] = "BroadcastPairScalarToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Single", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Single", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetSingle()", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(firstOp[0]) != BitConverter.DoubleToInt64Bits(result[0])", ["ValidateRemainingResults"] = "(BitConverter.SingleToInt32Bits(result[i]) != BitConverter.SingleToInt32Bits(firstOp[i & 1]))"}),
("LoadUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["Method"] = "BroadcastVector128ToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetInt64()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != firstOp[i & 1]"}),
("LoadUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["Method"] = "BroadcastVector128ToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetUInt64()", ["ValidateFirstResult"] = "firstOp[0] != result[0]", ["ValidateRemainingResults"] = "result[i] != firstOp[i & 1]"}),
("LoadUnOpTest.template", new Dictionary { ["Isa"] = "Avx10v1.V512", ["Method"] = "BroadcastVector128ToVector512", ["RetVectorType"] = "Vector512", ["RetBaseType"] = "Double", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Double", ["LargestVectorSize"] = "64", ["NextValueOp1"] = "TestLibrary.Generator.GetDouble()", ["ValidateFirstResult"] = "BitConverter.DoubleToInt64Bits(firstOp[0]) != BitConverter.DoubleToInt64Bits(result[0])", ["ValidateRemainingResults"] = "BitConverter.DoubleToInt64Bits(result[i]) != BitConverter.DoubleToInt64Bits(firstOp[i & 1])"}),