Fix Aes and Ssse3.Shuffle intrinsic APIs
authorFei Peng <fei.peng@intel.com>
Tue, 26 Jun 2018 23:20:54 +0000 (16:20 -0700)
committerFei Peng <fei.peng@intel.com>
Tue, 26 Jun 2018 23:20:54 +0000 (16:20 -0700)
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Aes.PlatformNotSupported.cs
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Aes.cs
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Ssse3.PlatformNotSupported.cs
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Ssse3.cs

index 5df8f266dfac7221d1c356ab22f0d7a265234b1e..c31da3964d88c92797e574adbcda6cd7ed694635 100644 (file)
@@ -15,44 +15,24 @@ namespace System.Runtime.Intrinsics.X86
     {
         public static bool IsSupported { get { return false; } }
         
-        /// <summary>
-        /// __m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey)
-        ///   AESDEC xmm, xmm/m128
-        /// </summary>
-        public static Vector128<sbyte> Decrypt(Vector128<sbyte> value, Vector128<sbyte> roundKey) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey)
         ///   AESDEC xmm, xmm/m128
         /// </summary>
         public static Vector128<byte> Decrypt(Vector128<byte> value, Vector128<byte> roundKey) { throw new PlatformNotSupportedException(); }
 
-        /// <summary>
-        /// __m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey)
-        ///   AESDECLAST xmm, xmm/m128
-        /// </summary>
-        public static Vector128<sbyte> DecryptLast(Vector128<sbyte> value, Vector128<sbyte> roundKey) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey)
         ///   AESDECLAST xmm, xmm/m128
         /// </summary>
         public static Vector128<byte> DecryptLast(Vector128<byte> value, Vector128<byte> roundKey) { throw new PlatformNotSupportedException(); }
 
-        /// <summary>
-        /// __m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey)
-        ///   AESENC xmm, xmm/m128
-        /// </summary>
-        public static Vector128<sbyte> Encrypt(Vector128<sbyte> value, Vector128<sbyte> roundKey) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey)
         ///   AESENC xmm, xmm/m128
         /// </summary>
         public static Vector128<byte> Encrypt(Vector128<byte> value, Vector128<byte> roundKey) { throw new PlatformNotSupportedException(); }
 
-        /// <summary>
-        /// __m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey)
-        ///   AESENCLAST xmm, xmm/m128
-        /// </summary>
-        public static Vector128<sbyte> EncryptLast(Vector128<sbyte> value, Vector128<sbyte> roundKey) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey)
         ///   AESENCLAST xmm, xmm/m128
@@ -63,18 +43,8 @@ namespace System.Runtime.Intrinsics.X86
         /// __m128i _mm_aesimc_si128 (__m128i a)
         ///   AESIMC xmm, xmm/m128
         /// </summary>
-        public static Vector128<sbyte> InvisibleMixColumn(Vector128<sbyte> value) { throw new PlatformNotSupportedException(); }
-        /// <summary>
-        /// __m128i _mm_aesimc_si128 (__m128i a)
-        ///   AESIMC xmm, xmm/m128
-        /// </summary>
-        public static Vector128<byte> InvisibleMixColumn(Vector128<byte> value) { throw new PlatformNotSupportedException(); }
+        public static Vector128<byte> InverseMixColumns(Vector128<byte> value) { throw new PlatformNotSupportedException(); }
 
-        /// <summary>
-        /// __m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8)
-        ///   AESKEYGENASSIST xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<sbyte> KeygenAssist(Vector128<sbyte> value, byte control) { throw new PlatformNotSupportedException(); }
         /// <summary>
         /// __m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8)
         ///   AESKEYGENASSIST xmm, xmm/m128, imm8
index 349919a21ca69cf770c2f80471e57c0f4395978d..75db4b1979edc173ffe9ce3b9ff9867bf4a1d243 100644 (file)
@@ -15,44 +15,24 @@ namespace System.Runtime.Intrinsics.X86
     {
         public static bool IsSupported { get => IsSupported; }
         
-        /// <summary>
-        /// __m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey)
-        ///   AESDEC xmm, xmm/m128
-        /// </summary>
-        public static Vector128<sbyte> Decrypt(Vector128<sbyte> value, Vector128<sbyte> roundKey) => Decrypt(value, roundKey);
         /// <summary>
         /// __m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey)
         ///   AESDEC xmm, xmm/m128
         /// </summary>
         public static Vector128<byte> Decrypt(Vector128<byte> value, Vector128<byte> roundKey) => Decrypt(value, roundKey);
 
-        /// <summary>
-        /// __m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey)
-        ///   AESDECLAST xmm, xmm/m128
-        /// </summary>
-        public static Vector128<sbyte> DecryptLast(Vector128<sbyte> value, Vector128<sbyte> roundKey) => DecryptLast(value, roundKey);
         /// <summary>
         /// __m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey)
         ///   AESDECLAST xmm, xmm/m128
         /// </summary>
         public static Vector128<byte> DecryptLast(Vector128<byte> value, Vector128<byte> roundKey) => DecryptLast(value, roundKey);
 
-        /// <summary>
-        /// __m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey)
-        ///   AESENC xmm, xmm/m128
-        /// </summary>
-        public static Vector128<sbyte> Encrypt(Vector128<sbyte> value, Vector128<sbyte> roundKey) => Encrypt(value, roundKey);
         /// <summary>
         /// __m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey)
         ///   AESENC xmm, xmm/m128
         /// </summary>
         public static Vector128<byte> Encrypt(Vector128<byte> value, Vector128<byte> roundKey) => Encrypt(value, roundKey);
 
-        /// <summary>
-        /// __m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey)
-        ///   AESENCLAST xmm, xmm/m128
-        /// </summary>
-        public static Vector128<sbyte> EncryptLast(Vector128<sbyte> value, Vector128<sbyte> roundKey) => EncryptLast(value, roundKey);
         /// <summary>
         /// __m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey)
         ///   AESENCLAST xmm, xmm/m128
@@ -63,18 +43,8 @@ namespace System.Runtime.Intrinsics.X86
         /// __m128i _mm_aesimc_si128 (__m128i a)
         ///   AESIMC xmm, xmm/m128
         /// </summary>
-        public static Vector128<sbyte> InvisibleMixColumn(Vector128<sbyte> value) => InvisibleMixColumn(value);
-        /// <summary>
-        /// __m128i _mm_aesimc_si128 (__m128i a)
-        ///   AESIMC xmm, xmm/m128
-        /// </summary>
-        public static Vector128<byte> InvisibleMixColumn(Vector128<byte> value) => InvisibleMixColumn(value);
+        public static Vector128<byte> InverseMixColumns(Vector128<byte> value) => InverseMixColumns(value);
 
-        /// <summary>
-        /// __m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8)
-        ///   AESKEYGENASSIST xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<sbyte> KeygenAssist(Vector128<sbyte> value, byte control) => KeygenAssist(value, control);
         /// <summary>
         /// __m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8)
         ///   AESKEYGENASSIST xmm, xmm/m128, imm8
index 20e9bbb8b75da825c62dbe8ec849c790a3ef6123..7a930c499a64c8219c2b87e433bec2febd93e090 100644 (file)
@@ -89,6 +89,12 @@ namespace System.Runtime.Intrinsics.X86
         /// </summary>
         public static Vector128<sbyte> Shuffle(Vector128<sbyte> value, Vector128<sbyte> mask) { throw new PlatformNotSupportedException(); }
 
+        /// <summary>
+        /// __m128i _mm_shuffle_epi8 (__m128i a, __m128i b)
+        ///   PSHUFB xmm, xmm/m128
+        /// </summary>
+        public static Vector128<byte> Shuffle(Vector128<byte> value, Vector128<byte> mask) { throw new PlatformNotSupportedException(); }
+
         /// <summary>
         /// __m128i _mm_sign_epi8 (__m128i a, __m128i b)
         ///   PSIGNB xmm, xmm/m128
index 0403a0a4e2707cb58fda7e4b5af6f4e53dc8299f..fc32c29496a7a60993c723487dbee38f52e3ed76 100644 (file)
@@ -89,6 +89,12 @@ namespace System.Runtime.Intrinsics.X86
         /// </summary>
         public static Vector128<sbyte> Shuffle(Vector128<sbyte> value, Vector128<sbyte> mask) => Shuffle(value, mask);
 
+        /// <summary>
+        /// __m128i _mm_shuffle_epi8 (__m128i a, __m128i b)
+        ///   PSHUFB xmm, xmm/m128
+        /// </summary>
+        public static Vector128<byte> Shuffle(Vector128<byte> value, Vector128<byte> mask) => Shuffle(value, mask);
+
         /// <summary>
         /// __m128i _mm_sign_epi8 (__m128i a, __m128i b)
         ///   PSIGNB xmm, xmm/m128