Remove SSE4.2 STTNI APIs for .NET Core 3.0 (#20887)
authorFei Peng <fei.peng@intel.com>
Mon, 12 Nov 2018 22:07:49 +0000 (14:07 -0800)
committerTanner Gooding <tagoo@outlook.com>
Mon, 12 Nov 2018 22:07:49 +0000 (14:07 -0800)
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Enums.cs
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.PlatformNotSupported.cs
src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.cs

index cf8cd43..5b08171 100644 (file)
@@ -166,24 +166,4 @@ namespace System.Runtime.Intrinsics.X86
         /// </summary>
         TrueUnorderedSignaling = 31,
     }
-
-    public enum StringComparisonMode : byte {
-        EqualAny = 0x00,
-        Ranges = 0x04,
-        EqualEach = 0x08,
-        EqualOrdered = 0x0c,
-        NegativePolarity = 0x10,
-        MaskedNegativePolarity = 0x30,
-        LeastSignificant = 0x00,
-        MostSignificant = 0x40,
-    }
-
-
-    public enum ResultsFlag : byte {
-        CFlag = 0,
-        NotCFlagAndNotZFlag = 1,
-        OFlag = 2,
-        SFlag = 3,
-        ZFlag = 4,
-    }
 }
index feffb8e..7c2b7b3 100644 (file)
@@ -30,264 +30,7 @@ namespace System.Runtime.Intrinsics.X86
             /// </summary>
             public static ulong Crc32(ulong crc, ulong data) { throw new PlatformNotSupportedException(); }
         }
-
-        /// <summary>
-        /// int _mm_cmpistra (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrc (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistro (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrs (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrz (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareImplicitLength(Vector128<sbyte> left, Vector128<sbyte> right, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpistra (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrc (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistro (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrs (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrz (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareImplicitLength(Vector128<byte> left, Vector128<byte> right, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpistra (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrc (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistro (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrs (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrz (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareImplicitLength(Vector128<short> left, Vector128<short> right, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-
-        /// <summary>
-        /// int _mm_cmpistra (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrc (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistro (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrs (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrz (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareImplicitLength(Vector128<ushort> left, Vector128<ushort> right, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpestra (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrc (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestro (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrs (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrz (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareExplicitLength(Vector128<sbyte> left, byte leftLength, Vector128<sbyte> right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpestra (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrc (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestro (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrs (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrz (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareExplicitLength(Vector128<byte> left, byte leftLength, Vector128<byte> right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpestra (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrc (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestro (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrs (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrz (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareExplicitLength(Vector128<short> left, byte leftLength, Vector128<short> right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpestra (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrc (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestro (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrs (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrz (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareExplicitLength(Vector128<ushort> left, byte leftLength, Vector128<ushort> right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareImplicitLengthIndex(Vector128<sbyte> left, Vector128<sbyte> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareImplicitLengthIndex(Vector128<byte> left, Vector128<byte> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareImplicitLengthIndex(Vector128<short> left, Vector128<short> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareImplicitLengthIndex(Vector128<ushort> left, Vector128<ushort> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareExplicitLengthIndex(Vector128<sbyte> left, byte leftLength, Vector128<sbyte> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareExplicitLengthIndex(Vector128<byte> left, byte leftLength, Vector128<byte> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareExplicitLengthIndex(Vector128<short> left, byte leftLength, Vector128<short> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareExplicitLengthIndex(Vector128<ushort> left, byte leftLength, Vector128<ushort> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareImplicitLengthBitMask(Vector128<sbyte> left, Vector128<sbyte> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareImplicitLengthBitMask(Vector128<byte> left, Vector128<byte> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareImplicitLengthBitMask(Vector128<short> left, Vector128<short> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareImplicitLengthBitMask(Vector128<ushort> left, Vector128<ushort> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareImplicitLengthUnitMask(Vector128<sbyte> left, Vector128<sbyte> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareImplicitLengthUnitMask(Vector128<byte> left, Vector128<byte> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareImplicitLengthUnitMask(Vector128<short> left, Vector128<short> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareImplicitLengthUnitMask(Vector128<ushort> left, Vector128<ushort> right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareExplicitLengthBitMask(Vector128<sbyte> left, byte leftLength, Vector128<sbyte> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareExplicitLengthBitMask(Vector128<byte> left, byte leftLength, Vector128<byte> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareExplicitLengthBitMask(Vector128<short> left, byte leftLength, Vector128<short> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareExplicitLengthBitMask(Vector128<ushort> left, byte leftLength, Vector128<ushort> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareExplicitLengthUnitMask(Vector128<sbyte> left, byte leftLength, Vector128<sbyte> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareExplicitLengthUnitMask(Vector128<byte> left, byte leftLength, Vector128<byte> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareExplicitLengthUnitMask(Vector128<short> left, byte leftLength, Vector128<short> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareExplicitLengthUnitMask(Vector128<ushort> left, byte leftLength, Vector128<ushort> right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); }
-
+        
         /// <summary>
         /// __m128i _mm_cmpgt_epi64 (__m128i a, __m128i b)
         ///   PCMPGTQ xmm, xmm/m128
index 5775ae4..8d0b59e 100644 (file)
@@ -32,263 +32,6 @@ namespace System.Runtime.Intrinsics.X86
         }
 
         /// <summary>
-        /// int _mm_cmpistra (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrc (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistro (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrs (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrz (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareImplicitLength(Vector128<sbyte> left, Vector128<sbyte> right, ResultsFlag flag, StringComparisonMode mode) => CompareImplicitLength(left, right, flag, mode);
-
-        /// <summary>
-        /// int _mm_cmpistra (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrc (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistro (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrs (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrz (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareImplicitLength(Vector128<byte> left, Vector128<byte> right, ResultsFlag flag, StringComparisonMode mode) => CompareImplicitLength(left, right, flag, mode);
-
-        /// <summary>
-        /// int _mm_cmpistra (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrc (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistro (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrs (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrz (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareImplicitLength(Vector128<short> left, Vector128<short> right, ResultsFlag flag, StringComparisonMode mode) => CompareImplicitLength(left, right, flag, mode);
-
-
-        /// <summary>
-        /// int _mm_cmpistra (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrc (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistro (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrs (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpistrz (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareImplicitLength(Vector128<ushort> left, Vector128<ushort> right, ResultsFlag flag, StringComparisonMode mode) => CompareImplicitLength(left, right, flag, mode);
-
-        /// <summary>
-        /// int _mm_cmpestra (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrc (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestro (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrs (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrz (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareExplicitLength(Vector128<sbyte> left, byte leftLength, Vector128<sbyte> right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) => CompareExplicitLength(left, leftLength, right, rightLength, flag, mode);
-
-        /// <summary>
-        /// int _mm_cmpestra (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrc (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestro (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrs (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrz (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareExplicitLength(Vector128<byte> left, byte leftLength, Vector128<byte> right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) => CompareExplicitLength(left, leftLength, right, rightLength, flag, mode);
-
-        /// <summary>
-        /// int _mm_cmpestra (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrc (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestro (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrs (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrz (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareExplicitLength(Vector128<short> left, byte leftLength, Vector128<short> right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) => CompareExplicitLength(left, leftLength, right, rightLength, flag, mode);
-
-        /// <summary>
-        /// int _mm_cmpestra (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrc (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestro (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrs (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// int _mm_cmpestrz (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static bool CompareExplicitLength(Vector128<ushort> left, byte leftLength, Vector128<ushort> right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) => CompareExplicitLength(left, leftLength, right, rightLength, flag, mode);
-
-        /// <summary>
-        /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareImplicitLengthIndex(Vector128<sbyte> left, Vector128<sbyte> right, StringComparisonMode mode) => CompareImplicitLengthIndex(left, right, mode);
-
-        /// <summary>
-        /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareImplicitLengthIndex(Vector128<byte> left, Vector128<byte> right, StringComparisonMode mode) => CompareImplicitLengthIndex(left, right, mode);
-
-        /// <summary>
-        /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareImplicitLengthIndex(Vector128<short> left, Vector128<short> right, StringComparisonMode mode) => CompareImplicitLengthIndex(left, right, mode);
-
-        /// <summary>
-        /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareImplicitLengthIndex(Vector128<ushort> left, Vector128<ushort> right, StringComparisonMode mode) => CompareImplicitLengthIndex(left, right, mode);
-
-        /// <summary>
-        /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareExplicitLengthIndex(Vector128<sbyte> left, byte leftLength, Vector128<sbyte> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthIndex(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareExplicitLengthIndex(Vector128<byte> left, byte leftLength, Vector128<byte> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthIndex(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareExplicitLengthIndex(Vector128<short> left, byte leftLength, Vector128<short> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthIndex(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRI xmm, xmm/m128, imm8
-        /// </summary>
-        public static int CompareExplicitLengthIndex(Vector128<ushort> left, byte leftLength, Vector128<ushort> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthIndex(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareImplicitLengthBitMask(Vector128<sbyte> left, Vector128<sbyte> right, StringComparisonMode mode) => CompareImplicitLengthBitMask(left, right, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareImplicitLengthBitMask(Vector128<byte> left, Vector128<byte> right, StringComparisonMode mode) => CompareImplicitLengthBitMask(left, right, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareImplicitLengthBitMask(Vector128<short> left, Vector128<short> right, StringComparisonMode mode) => CompareImplicitLengthBitMask(left, right, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareImplicitLengthBitMask(Vector128<ushort> left, Vector128<ushort> right, StringComparisonMode mode) => CompareImplicitLengthBitMask(left, right, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareImplicitLengthUnitMask(Vector128<sbyte> left, Vector128<sbyte> right, StringComparisonMode mode) => CompareImplicitLengthUnitMask(left, right, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareImplicitLengthUnitMask(Vector128<byte> left, Vector128<byte> right, StringComparisonMode mode) => CompareImplicitLengthUnitMask(left, right, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareImplicitLengthUnitMask(Vector128<short> left, Vector128<short> right, StringComparisonMode mode) => CompareImplicitLengthUnitMask(left, right, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8)
-        ///   PCMPISTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareImplicitLengthUnitMask(Vector128<ushort> left, Vector128<ushort> right, StringComparisonMode mode) => CompareImplicitLengthUnitMask(left, right, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareExplicitLengthBitMask(Vector128<sbyte> left, byte leftLength, Vector128<sbyte> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthBitMask(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareExplicitLengthBitMask(Vector128<byte> left, byte leftLength, Vector128<byte> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthBitMask(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareExplicitLengthBitMask(Vector128<short> left, byte leftLength, Vector128<short> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthBitMask(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareExplicitLengthBitMask(Vector128<ushort> left, byte leftLength, Vector128<ushort> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthBitMask(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareExplicitLengthUnitMask(Vector128<sbyte> left, byte leftLength, Vector128<sbyte> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthUnitMask(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<byte> CompareExplicitLengthUnitMask(Vector128<byte> left, byte leftLength, Vector128<byte> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthUnitMask(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareExplicitLengthUnitMask(Vector128<short> left, byte leftLength, Vector128<short> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthUnitMask(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
-        /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8)
-        ///   PCMPESTRM xmm, xmm/m128, imm8
-        /// </summary>
-        public static Vector128<ushort> CompareExplicitLengthUnitMask(Vector128<ushort> left, byte leftLength, Vector128<ushort> right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthUnitMask(left, leftLength, right, rightLength, mode);
-
-        /// <summary>
         /// __m128i _mm_cmpgt_epi64 (__m128i a, __m128i b)
         ///   PCMPGTQ xmm, xmm/m128
         /// </summary>