Fixing some inconsistencies in the Scalar intrinsics
authorTanner Gooding <tagoo@outlook.com>
Fri, 19 Jan 2018 06:27:04 +0000 (22:27 -0800)
committerTanner Gooding <tagoo@outlook.com>
Mon, 29 Jan 2018 23:35:25 +0000 (15:35 -0800)
src/mscorlib/src/System/Runtime/Intrinsics/X86/Sse.PlatformNotSupported.cs
src/mscorlib/src/System/Runtime/Intrinsics/X86/Sse.cs
src/mscorlib/src/System/Runtime/Intrinsics/X86/Sse2.PlatformNotSupported.cs
src/mscorlib/src/System/Runtime/Intrinsics/X86/Sse2.cs
src/mscorlib/src/System/Runtime/Intrinsics/X86/Sse41.PlatformNotSupported.cs
src/mscorlib/src/System/Runtime/Intrinsics/X86/Sse41.cs

index 8e5c7b2..1e48bdc 100644 (file)
@@ -344,7 +344,7 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128 _mm_rcp_ss (__m128 a)
         /// </summary>
-        public static Vector128<float> ReciprocalScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> ReciprocalScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
         /// __m128 _mm_rsqrt_ps (__m128 a)
@@ -354,7 +354,7 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128 _mm_rsqrt_ss (__m128 a)
         /// </summary>
-        public static Vector128<float> ReciprocalSqrtScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> ReciprocalSqrtScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
         /// __m128 _mm_set_ps (float e3, float e2, float e1, float e0)
@@ -399,7 +399,7 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128 _mm_sqrt_ss (__m128 a)
         /// </summary>
-        public static Vector128<float> SqrtScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> SqrtScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
         /// void _mm_store_ps (float* mem_addr, __m128 a)
index a39adc1..9967ff1 100644 (file)
@@ -344,7 +344,7 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128 _mm_rcp_ss (__m128 a)
         /// </summary>
-        public static Vector128<float> ReciprocalScalar(Vector128<float> value) => ReciprocalScalar(value);
+        public static Vector128<float> ReciprocalScalar(Vector128<float> upper, Vector128<float> value) => ReciprocalScalar(upper, value);
 
         /// <summary>
         /// __m128 _mm_rsqrt_ps (__m128 a)
@@ -354,7 +354,7 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128 _mm_rsqrt_ss (__m128 a)
         /// </summary>
-        public static Vector128<float> ReciprocalSqrtScalar(Vector128<float> value) => ReciprocalSqrtScalar(value);
+        public static Vector128<float> ReciprocalSqrtScalar(Vector128<float> upper, Vector128<float> value) => ReciprocalSqrtScalar(upper, value);
 
         /// <summary>
         /// __m128 _mm_set_ps (float e3, float e2, float e1, float e0)
@@ -404,7 +404,7 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128 _mm_sqrt_ss (__m128 a)
         /// </summary>
-        public static Vector128<float> SqrtScalar(Vector128<float> value) => SqrtScalar(value);
+        public static Vector128<float> SqrtScalar(Vector128<float> upper, Vector128<float> value) => SqrtScalar(upper, value);
 
         /// <summary>
         /// void _mm_store_ps (float* mem_addr, __m128 a)
index 95eea8c..57eaffe 100644 (file)
@@ -1098,9 +1098,9 @@ namespace System.Runtime.Intrinsics.X86
         public static Vector128<double> Sqrt(Vector128<double> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
-        /// __m128d _mm_sqrt_sd (__m128d a)
+        /// __m128d _mm_sqrt_sd (__m128d a, __m128d b)
         /// </summary>
-        public static Vector128<double> SqrtScalar(Vector128<double> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<double> SqrtScalar(Vector128<double> upper, Vector128<double> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
         /// void _mm_store_sd (double* mem_addr, __m128d a)
index 7577aef..95b64d2 100644 (file)
@@ -1105,7 +1105,7 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128d _mm_sqrt_sd (__m128d a)
         /// </summary>
-        public static Vector128<double> SqrtScalar(Vector128<double> value) => SqrtScalar(value);
+        public static Vector128<double> SqrtScalar(Vector128<double> upper, Vector128<double> value) => SqrtScalar(upper, value);
 
         /// <summary>
         /// void _mm_store_sd (double* mem_addr, __m128d a)
index e95c594..d4846f8 100644 (file)
@@ -64,11 +64,11 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128d _mm_ceil_sd (__m128d a)
         /// </summary>
-        public static Vector128<double> CeilingScalar(Vector128<double> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<double> CeilingScalar(Vector128<double> upper, Vector128<double> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128 _mm_ceil_ss (__m128 a)
         /// </summary>
-        public static Vector128<float> CeilingScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> CeilingScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
         /// __m128i _mm_cmpeq_epi64 (__m128i a, __m128i b)
@@ -178,11 +178,11 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// __m128d _mm_floor_sd (__m128d a)
         /// </summary>
-        public static Vector128<double> FloorScalar(Vector128<double> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<double> FloorScalar(Vector128<double> upper, Vector128<double> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128 _mm_floor_ss (__m128 a)
         /// </summary>
-        public static Vector128<float> FloorScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> FloorScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
         /// __m128i _mm_insert_epi8 (__m128i a, int i, const int imm8)
@@ -319,46 +319,46 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// _MM_FROUND_CUR_DIRECTION
         /// </summary>
-        public static Vector128<double> RoundCurrentDirectionScalar(Vector128<double> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<double> RoundCurrentDirectionScalar(Vector128<double> upper, Vector128<double> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128d _mm_round_sd (__m128d a, int rounding)
         /// _MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<double> RoundToNearestIntegerScalar(Vector128<double> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<double> RoundToNearestIntegerScalar(Vector128<double> upper, Vector128<double> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// _MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<double> RoundToNegativeInfinityScalar(Vector128<double> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<double> RoundToNegativeInfinityScalar(Vector128<double> upper, Vector128<double> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// _MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<double> RoundToPositiveInfinityScalar(Vector128<double> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<double> RoundToPositiveInfinityScalar(Vector128<double> upper, Vector128<double> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// _MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<double> RoundToZeroScalar(Vector128<double> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<double> RoundToZeroScalar(Vector128<double> upper, Vector128<double> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
         /// _MM_FROUND_CUR_DIRECTION
         /// </summary>
-        public static Vector128<float> RoundCurrentDirectionScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> RoundCurrentDirectionScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128 _mm_round_ss (__m128 a, int rounding)
         /// _MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<float> RoundToNearestIntegerScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> RoundToNearestIntegerScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// _MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<float> RoundToNegativeInfinityScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> RoundToNegativeInfinityScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// _MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<float> RoundToPositiveInfinityScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> RoundToPositiveInfinityScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// _MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<float> RoundToZeroScalar(Vector128<float> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<float> RoundToZeroScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); }
 
         /// <summary>
         /// __m128i _mm_stream_load_si128 (const __m128i* mem_addr)
index e1afe26..21e0101 100644 (file)
@@ -62,13 +62,13 @@ namespace System.Runtime.Intrinsics.X86
         public static Vector128<double> Ceiling(Vector128<double> value) => Ceiling(value);
 
         /// <summary>
-        /// __m128d _mm_ceil_sd (__m128d a)
+        /// __m128d _mm_ceil_sd (__m128d a, __m128d b)
         /// </summary>
-        public static Vector128<double> CeilingScalar(Vector128<double> value) => CeilingScalar(value);
+        public static Vector128<double> CeilingScalar(Vector128<double> upper, Vector128<double> value) => CeilingScalar(upper, value);
         /// <summary>
-        /// __m128 _mm_ceil_ss (__m128 a)
+        /// __m128 _mm_ceil_ss (__m128 a, __m128 b)
         /// </summary>
-        public static Vector128<float> CeilingScalar(Vector128<float> value) => CeilingScalar(value);
+        public static Vector128<float> CeilingScalar(Vector128<float> upper, Vector128<float> value) => CeilingScalar(upper, value);
 
         /// <summary>
         /// __m128i _mm_cmpeq_epi64 (__m128i a, __m128i b)
@@ -176,13 +176,13 @@ namespace System.Runtime.Intrinsics.X86
         public static Vector128<double> Floor(Vector128<double> value) => Floor(value);
 
         /// <summary>
-        /// __m128d _mm_floor_sd (__m128d a)
+        /// __m128d _mm_floor_sd (__m128d a, __m128d b)
         /// </summary>
-        public static Vector128<double> FloorScalar(Vector128<double> value) => FloorScalar(value);
+        public static Vector128<double> FloorScalar(Vector128<double> upper, Vector128<double> value) => FloorScalar(upper, value);
         /// <summary>
-        /// __m128 _mm_floor_ss (__m128 a)
+        /// __m128 _mm_floor_ss (__m128 a, __m128 b)
         /// </summary>
-        public static Vector128<float> FloorScalar(Vector128<float> value) => FloorScalar(value);
+        public static Vector128<float> FloorScalar(Vector128<float> upper, Vector128<float> value) => FloorScalar(upper, value);
 
         /// <summary>
         /// __m128i _mm_insert_epi8 (__m128i a, int i, const int imm8)
@@ -319,46 +319,46 @@ namespace System.Runtime.Intrinsics.X86
         /// <summary>
         /// _MM_FROUND_CUR_DIRECTION
         /// </summary>
-        public static Vector128<double> RoundCurrentDirectionScalar(Vector128<double> value) => RoundCurrentDirectionScalar(value);
+        public static Vector128<double> RoundCurrentDirectionScalar(Vector128<double> upper, Vector128<double> value) => RoundCurrentDirectionScalar(upper, value);
         /// <summary>
         /// __m128d _mm_round_sd (__m128d a, int rounding)
         /// _MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<double> RoundToNearestIntegerScalar(Vector128<double> value) => RoundToNearestIntegerScalar(value);
+        public static Vector128<double> RoundToNearestIntegerScalar(Vector128<double> upper, Vector128<double> value) => RoundToNearestIntegerScalar(upper, value);
         /// <summary>
         /// _MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<double> RoundToNegativeInfinityScalar(Vector128<double> value) => RoundToNegativeInfinityScalar(value);
+        public static Vector128<double> RoundToNegativeInfinityScalar(Vector128<double> upper, Vector128<double> value) => RoundToNegativeInfinityScalar(upper, value);
         /// <summary>
         /// _MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<double> RoundToPositiveInfinityScalar(Vector128<double> value) => RoundToPositiveInfinityScalar(value);
+        public static Vector128<double> RoundToPositiveInfinityScalar(Vector128<double> upper, Vector128<double> value) => RoundToPositiveInfinityScalar(upper, value);
         /// <summary>
         /// _MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<double> RoundToZeroScalar(Vector128<double> value) => RoundToZeroScalar(value);
+        public static Vector128<double> RoundToZeroScalar(Vector128<double> upper, Vector128<double> value) => RoundToZeroScalar(upper, value);
 
         /// <summary>
         /// _MM_FROUND_CUR_DIRECTION
         /// </summary>
-        public static Vector128<float> RoundCurrentDirectionScalar(Vector128<float> value) => RoundCurrentDirectionScalar(value);
+        public static Vector128<float> RoundCurrentDirectionScalar(Vector128<float> upper, Vector128<float> value) => RoundCurrentDirectionScalar(upper, value);
         /// <summary>
         /// __m128 _mm_round_ss (__m128 a, int rounding)
         /// _MM_FROUND_TO_NEAREST_INT |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<float> RoundToNearestIntegerScalar(Vector128<float> value) => RoundToNearestIntegerScalar(value);
+        public static Vector128<float> RoundToNearestIntegerScalar(Vector128<float> upper, Vector128<float> value) => RoundToNearestIntegerScalar(upper, value);
         /// <summary>
         /// _MM_FROUND_TO_NEG_INF |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<float> RoundToNegativeInfinityScalar(Vector128<float> value) => RoundToNegativeInfinityScalar(value);
+        public static Vector128<float> RoundToNegativeInfinityScalar(Vector128<float> upper, Vector128<float> value) => RoundToNegativeInfinityScalar(upper, value);
         /// <summary>
         /// _MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<float> RoundToPositiveInfinityScalar(Vector128<float> value) => RoundToPositiveInfinityScalar(value);
+        public static Vector128<float> RoundToPositiveInfinityScalar(Vector128<float> upper, Vector128<float> value) => RoundToPositiveInfinityScalar(upper, value);
         /// <summary>
         /// _MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC
         /// </summary>
-        public static Vector128<float> RoundToZeroScalar(Vector128<float> value) => RoundToZeroScalar(value);
+        public static Vector128<float> RoundToZeroScalar(Vector128<float> upper, Vector128<float> value) => RoundToZeroScalar(upper, value);
 
         /// <summary>
         /// __m128i _mm_stream_load_si128 (const __m128i* mem_addr)