From ebfcb1e0aa563327f3ec1a79b53124144c81c654 Mon Sep 17 00:00:00 2001 From: Fei Peng Date: Mon, 12 Nov 2018 14:07:49 -0800 Subject: [PATCH] Remove SSE4.2 STTNI APIs for .NET Core 3.0 (#20887) --- .../shared/System/Runtime/Intrinsics/X86/Enums.cs | 20 -- .../Intrinsics/X86/Sse42.PlatformNotSupported.cs | 259 +-------------------- .../shared/System/Runtime/Intrinsics/X86/Sse42.cs | 257 -------------------- 3 files changed, 1 insertion(+), 535 deletions(-) diff --git a/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Enums.cs b/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Enums.cs index cf8cd43..5b08171 100644 --- a/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Enums.cs +++ b/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Enums.cs @@ -166,24 +166,4 @@ namespace System.Runtime.Intrinsics.X86 /// 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, - } } diff --git a/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.PlatformNotSupported.cs b/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.PlatformNotSupported.cs index feffb8e..7c2b7b3 100644 --- a/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.PlatformNotSupported.cs +++ b/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.PlatformNotSupported.cs @@ -30,264 +30,7 @@ namespace System.Runtime.Intrinsics.X86 /// public static ulong Crc32(ulong crc, ulong data) { throw new PlatformNotSupportedException(); } } - - /// - /// 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 - /// - public static bool CompareImplicitLength(Vector128 left, Vector128 right, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// 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 - /// - public static bool CompareImplicitLength(Vector128 left, Vector128 right, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// 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 - /// - public static bool CompareImplicitLength(Vector128 left, Vector128 right, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - - /// - /// 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 - /// - public static bool CompareImplicitLength(Vector128 left, Vector128 right, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// 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 - /// - public static bool CompareExplicitLength(Vector128 left, byte leftLength, Vector128 right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// 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 - /// - public static bool CompareExplicitLength(Vector128 left, byte leftLength, Vector128 right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// 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 - /// - public static bool CompareExplicitLength(Vector128 left, byte leftLength, Vector128 right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// 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 - /// - public static bool CompareExplicitLength(Vector128 left, byte leftLength, Vector128 right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8) - /// PCMPISTRI xmm, xmm/m128, imm8 - /// - public static int CompareImplicitLengthIndex(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8) - /// PCMPISTRI xmm, xmm/m128, imm8 - /// - public static int CompareImplicitLengthIndex(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8) - /// PCMPISTRI xmm, xmm/m128, imm8 - /// - public static int CompareImplicitLengthIndex(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8) - /// PCMPISTRI xmm, xmm/m128, imm8 - /// - public static int CompareImplicitLengthIndex(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRI xmm, xmm/m128, imm8 - /// - public static int CompareExplicitLengthIndex(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRI xmm, xmm/m128, imm8 - /// - public static int CompareExplicitLengthIndex(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRI xmm, xmm/m128, imm8 - /// - public static int CompareExplicitLengthIndex(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRI xmm, xmm/m128, imm8 - /// - public static int CompareExplicitLengthIndex(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthBitMask(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthBitMask(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthBitMask(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthBitMask(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthUnitMask(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthUnitMask(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthUnitMask(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthUnitMask(Vector128 left, Vector128 right, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthBitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthBitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthBitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthBitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthUnitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthUnitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthUnitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthUnitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) { throw new PlatformNotSupportedException(); } - + /// /// __m128i _mm_cmpgt_epi64 (__m128i a, __m128i b) /// PCMPGTQ xmm, xmm/m128 diff --git a/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.cs b/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.cs index 5775ae4..8d0b59e 100644 --- a/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.cs +++ b/src/System.Private.CoreLib/shared/System/Runtime/Intrinsics/X86/Sse42.cs @@ -32,263 +32,6 @@ namespace System.Runtime.Intrinsics.X86 } /// - /// 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 - /// - public static bool CompareImplicitLength(Vector128 left, Vector128 right, ResultsFlag flag, StringComparisonMode mode) => CompareImplicitLength(left, right, flag, mode); - - /// - /// 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 - /// - public static bool CompareImplicitLength(Vector128 left, Vector128 right, ResultsFlag flag, StringComparisonMode mode) => CompareImplicitLength(left, right, flag, mode); - - /// - /// 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 - /// - public static bool CompareImplicitLength(Vector128 left, Vector128 right, ResultsFlag flag, StringComparisonMode mode) => CompareImplicitLength(left, right, flag, mode); - - - /// - /// 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 - /// - public static bool CompareImplicitLength(Vector128 left, Vector128 right, ResultsFlag flag, StringComparisonMode mode) => CompareImplicitLength(left, right, flag, mode); - - /// - /// 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 - /// - public static bool CompareExplicitLength(Vector128 left, byte leftLength, Vector128 right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) => CompareExplicitLength(left, leftLength, right, rightLength, flag, mode); - - /// - /// 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 - /// - public static bool CompareExplicitLength(Vector128 left, byte leftLength, Vector128 right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) => CompareExplicitLength(left, leftLength, right, rightLength, flag, mode); - - /// - /// 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 - /// - public static bool CompareExplicitLength(Vector128 left, byte leftLength, Vector128 right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) => CompareExplicitLength(left, leftLength, right, rightLength, flag, mode); - - /// - /// 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 - /// - public static bool CompareExplicitLength(Vector128 left, byte leftLength, Vector128 right, byte rightLength, ResultsFlag flag, StringComparisonMode mode) => CompareExplicitLength(left, leftLength, right, rightLength, flag, mode); - - /// - /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8) - /// PCMPISTRI xmm, xmm/m128, imm8 - /// - public static int CompareImplicitLengthIndex(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthIndex(left, right, mode); - - /// - /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8) - /// PCMPISTRI xmm, xmm/m128, imm8 - /// - public static int CompareImplicitLengthIndex(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthIndex(left, right, mode); - - /// - /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8) - /// PCMPISTRI xmm, xmm/m128, imm8 - /// - public static int CompareImplicitLengthIndex(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthIndex(left, right, mode); - - /// - /// int _mm_cmpistri (__m128i a, __m128i b, const int imm8) - /// PCMPISTRI xmm, xmm/m128, imm8 - /// - public static int CompareImplicitLengthIndex(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthIndex(left, right, mode); - - /// - /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRI xmm, xmm/m128, imm8 - /// - public static int CompareExplicitLengthIndex(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthIndex(left, leftLength, right, rightLength, mode); - - /// - /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRI xmm, xmm/m128, imm8 - /// - public static int CompareExplicitLengthIndex(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthIndex(left, leftLength, right, rightLength, mode); - - /// - /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRI xmm, xmm/m128, imm8 - /// - public static int CompareExplicitLengthIndex(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthIndex(left, leftLength, right, rightLength, mode); - - /// - /// int _mm_cmpestri (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRI xmm, xmm/m128, imm8 - /// - public static int CompareExplicitLengthIndex(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthIndex(left, leftLength, right, rightLength, mode); - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthBitMask(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthBitMask(left, right, mode); - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthBitMask(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthBitMask(left, right, mode); - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthBitMask(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthBitMask(left, right, mode); - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthBitMask(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthBitMask(left, right, mode); - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthUnitMask(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthUnitMask(left, right, mode); - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthUnitMask(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthUnitMask(left, right, mode); - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthUnitMask(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthUnitMask(left, right, mode); - - /// - /// __m128i _mm_cmpistrm (__m128i a, __m128i b, const int imm8) - /// PCMPISTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareImplicitLengthUnitMask(Vector128 left, Vector128 right, StringComparisonMode mode) => CompareImplicitLengthUnitMask(left, right, mode); - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthBitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthBitMask(left, leftLength, right, rightLength, mode); - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthBitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthBitMask(left, leftLength, right, rightLength, mode); - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthBitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthBitMask(left, leftLength, right, rightLength, mode); - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthBitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthBitMask(left, leftLength, right, rightLength, mode); - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthUnitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthUnitMask(left, leftLength, right, rightLength, mode); - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthUnitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthUnitMask(left, leftLength, right, rightLength, mode); - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthUnitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthUnitMask(left, leftLength, right, rightLength, mode); - - /// - /// __m128i _mm_cmpestrm (__m128i a, int la, __m128i b, int lb, const int imm8) - /// PCMPESTRM xmm, xmm/m128, imm8 - /// - public static Vector128 CompareExplicitLengthUnitMask(Vector128 left, byte leftLength, Vector128 right, byte rightLength, StringComparisonMode mode) => CompareExplicitLengthUnitMask(left, leftLength, right, rightLength, mode); - - /// /// __m128i _mm_cmpgt_epi64 (__m128i a, __m128i b) /// PCMPGTQ xmm, xmm/m128 /// -- 2.7.4