diff --git a/src/mscorlib/src/System/Runtime/Intrinsics/X86/Aes.PlatformNotSupported.cs b/src/mscorlib/src/System/Runtime/Intrinsics/X86/Aes.PlatformNotSupported.cs
index 68c0a1352610..5df8f266dfac 100644
--- a/src/mscorlib/src/System/Runtime/Intrinsics/X86/Aes.PlatformNotSupported.cs
+++ b/src/mscorlib/src/System/Runtime/Intrinsics/X86/Aes.PlatformNotSupported.cs
@@ -17,55 +17,67 @@ public static class Aes
///
/// __m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey)
+ /// AESDEC xmm, xmm/m128
///
public static Vector128 Decrypt(Vector128 value, Vector128 roundKey) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey)
+ /// AESDEC xmm, xmm/m128
///
public static Vector128 Decrypt(Vector128 value, Vector128 roundKey) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey)
+ /// AESDECLAST xmm, xmm/m128
///
public static Vector128 DecryptLast(Vector128 value, Vector128 roundKey) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey)
+ /// AESDECLAST xmm, xmm/m128
///
public static Vector128 DecryptLast(Vector128 value, Vector128 roundKey) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey)
+ /// AESENC xmm, xmm/m128
///
public static Vector128 Encrypt(Vector128 value, Vector128 roundKey) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey)
+ /// AESENC xmm, xmm/m128
///
public static Vector128 Encrypt(Vector128 value, Vector128 roundKey) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey)
+ /// AESENCLAST xmm, xmm/m128
///
public static Vector128 EncryptLast(Vector128 value, Vector128 roundKey) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey)
+ /// AESENCLAST xmm, xmm/m128
///
public static Vector128 EncryptLast(Vector128 value, Vector128 roundKey) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesimc_si128 (__m128i a)
+ /// AESIMC xmm, xmm/m128
///
public static Vector128 InvisibleMixColumn(Vector128 value) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aesimc_si128 (__m128i a)
+ /// AESIMC xmm, xmm/m128
///
public static Vector128 InvisibleMixColumn(Vector128 value) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8)
+ /// AESKEYGENASSIST xmm, xmm/m128, imm8
///
public static Vector128 KeygenAssist(Vector128 value, byte control) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8)
+ /// AESKEYGENASSIST xmm, xmm/m128, imm8
///
public static Vector128 KeygenAssist(Vector128 value, byte control) { throw new PlatformNotSupportedException(); }
diff --git a/src/mscorlib/src/System/Runtime/Intrinsics/X86/Aes.cs b/src/mscorlib/src/System/Runtime/Intrinsics/X86/Aes.cs
index b3c2a3da477d..349919a21ca6 100644
--- a/src/mscorlib/src/System/Runtime/Intrinsics/X86/Aes.cs
+++ b/src/mscorlib/src/System/Runtime/Intrinsics/X86/Aes.cs
@@ -17,55 +17,67 @@ public static class Aes
///
/// __m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey)
+ /// AESDEC xmm, xmm/m128
///
public static Vector128 Decrypt(Vector128 value, Vector128 roundKey) => Decrypt(value, roundKey);
///
/// __m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey)
+ /// AESDEC xmm, xmm/m128
///
public static Vector128 Decrypt(Vector128 value, Vector128 roundKey) => Decrypt(value, roundKey);
///
/// __m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey)
+ /// AESDECLAST xmm, xmm/m128
///
public static Vector128 DecryptLast(Vector128 value, Vector128 roundKey) => DecryptLast(value, roundKey);
///
/// __m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey)
+ /// AESDECLAST xmm, xmm/m128
///
public static Vector128 DecryptLast(Vector128 value, Vector128 roundKey) => DecryptLast(value, roundKey);
///
/// __m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey)
+ /// AESENC xmm, xmm/m128
///
public static Vector128 Encrypt(Vector128 value, Vector128 roundKey) => Encrypt(value, roundKey);
///
/// __m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey)
+ /// AESENC xmm, xmm/m128
///
public static Vector128 Encrypt(Vector128 value, Vector128 roundKey) => Encrypt(value, roundKey);
///
/// __m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey)
+ /// AESENCLAST xmm, xmm/m128
///
public static Vector128 EncryptLast(Vector128 value, Vector128 roundKey) => EncryptLast(value, roundKey);
///
/// __m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey)
+ /// AESENCLAST xmm, xmm/m128
///
public static Vector128 EncryptLast(Vector128 value, Vector128 roundKey) => EncryptLast(value, roundKey);
///
/// __m128i _mm_aesimc_si128 (__m128i a)
+ /// AESIMC xmm, xmm/m128
///
public static Vector128 InvisibleMixColumn(Vector128 value) => InvisibleMixColumn(value);
///
/// __m128i _mm_aesimc_si128 (__m128i a)
+ /// AESIMC xmm, xmm/m128
///
public static Vector128 InvisibleMixColumn(Vector128 value) => InvisibleMixColumn(value);
///
/// __m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8)
+ /// AESKEYGENASSIST xmm, xmm/m128, imm8
///
public static Vector128 KeygenAssist(Vector128 value, byte control) => KeygenAssist(value, control);
///
/// __m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8)
+ /// AESKEYGENASSIST xmm, xmm/m128, imm8
///
public static Vector128 KeygenAssist(Vector128 value, byte control) => KeygenAssist(value, control);
diff --git a/src/mscorlib/src/System/Runtime/Intrinsics/X86/Avx.PlatformNotSupported.cs b/src/mscorlib/src/System/Runtime/Intrinsics/X86/Avx.PlatformNotSupported.cs
index c43b5d3d5920..399f93b8a864 100644
--- a/src/mscorlib/src/System/Runtime/Intrinsics/X86/Avx.PlatformNotSupported.cs
+++ b/src/mscorlib/src/System/Runtime/Intrinsics/X86/Avx.PlatformNotSupported.cs
@@ -17,991 +17,1242 @@ public static class Avx
///
/// __m256 _mm256_add_ps (__m256 a, __m256 b)
+ /// VADDPS ymm, ymm, ymm/m256
///
public static Vector256 Add(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_add_pd (__m256d a, __m256d b)
+ /// VADDPD ymm, ymm, ymm/m256
///
public static Vector256 Add(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_addsub_ps (__m256 a, __m256 b)
+ /// VADDSUBPS ymm, ymm, ymm/m256
///
public static Vector256 AddSubtract(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_addsub_pd (__m256d a, __m256d b)
+ /// VADDSUBPD ymm, ymm, ymm/m256
///
public static Vector256 AddSubtract(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_and_ps (__m256 a, __m256 b)
+ /// VANDPS ymm, ymm, ymm/m256
///
public static Vector256 And(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_and_pd (__m256d a, __m256d b)
+ /// VANDPD ymm, ymm, ymm/m256
///
public static Vector256 And(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_andnot_ps (__m256 a, __m256 b)
+ /// VANDNPS ymm, ymm, ymm/m256
///
public static Vector256 AndNot(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_andnot_pd (__m256d a, __m256d b)
+ /// VANDNPD ymm, ymm, ymm/m256
///
public static Vector256 AndNot(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_blend_ps (__m256 a, __m256 b, const int imm8)
+ /// VBLENDPS ymm, ymm, ymm/m256, imm8
///
public static Vector256 Blend(Vector256 left, Vector256 right, byte control) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_blend_pd (__m256d a, __m256d b, const int imm8)
+ /// VBLENDPD ymm, ymm, ymm/m256, imm8
///
public static Vector256 Blend(Vector256 left, Vector256 right, byte control) { throw new PlatformNotSupportedException(); }
-
+
///
/// __m256 _mm256_blendv_ps (__m256 a, __m256 b, __m256 mask)
+ /// VBLENDVPS ymm, ymm, ymm/m256, ymm
///
public static Vector256 BlendVariable(Vector256 left, Vector256 right, Vector256 mask) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_blendv_pd (__m256d a, __m256d b, __m256d mask)
+ /// VBLENDVPD ymm, ymm, ymm/m256, ymm
///
public static Vector256 BlendVariable(Vector256 left, Vector256 right, Vector256 mask) { throw new PlatformNotSupportedException(); }
///
/// __m128 _mm_broadcast_ss (float const * mem_addr)
+ /// VBROADCASTSS xmm, m32
///
- public static Vector128 BroadcastElementToVector128(ref float source) { throw new PlatformNotSupportedException(); }
+ public static unsafe Vector128 BroadcastScalarToVector128(float* source) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_broadcast_ss (float const * mem_addr)
+ /// VBROADCASTSS ymm, m32
///
- public static Vector256 BroadcastElementToVector256(ref float source) { throw new PlatformNotSupportedException(); }
+ public static unsafe Vector256 BroadcastScalarToVector256(float* source) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_broadcast_sd (double const * mem_addr)
+ /// VBROADCASTSD ymm, m64
///
- public static Vector256 BroadcastElementToVector256(ref double source) { throw new PlatformNotSupportedException(); }
+ public static unsafe Vector256 BroadcastScalarToVector256(double* source) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_broadcast_ps (__m128 const * mem_addr)
+ /// VBROADCASTF128, ymm, m128
///
public static unsafe Vector256 BroadcastVector128ToVector256(float* address) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_broadcast_pd (__m128d const * mem_addr)
+ /// VBROADCASTF128, ymm, m128
///
public static unsafe Vector256 BroadcastVector128ToVector256(double* address) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_ceil_ps (__m256 a)
+ /// VROUNDPS ymm, ymm/m256, imm8(10)
///
public static Vector256 Ceiling(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_ceil_pd (__m256d a)
+ /// VROUNDPD ymm, ymm/m256, imm8(10)
///
public static Vector256 Ceiling(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m128 _mm_cmp_ps (__m128 a, __m128 b, const int imm8)
+ /// VCMPPS xmm, xmm, xmm/m128, imm8
///
public static Vector128 Compare(Vector128 left, Vector128 right, FloatComparisonMode mode) { throw new PlatformNotSupportedException(); }
///
/// __m128d _mm_cmp_pd (__m128d a, __m128d b, const int imm8)
+ /// VCMPPD xmm, xmm, xmm/m128, imm8
///
public static Vector128 Compare(Vector128 left, Vector128 right, FloatComparisonMode mode) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_cmp_ps (__m256 a, __m256 b, const int imm8)
+ /// VCMPPS ymm, ymm, ymm/m256, imm8
///
public static Vector256 Compare(Vector256 left, Vector256 right, FloatComparisonMode mode) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_cmp_pd (__m256d a, __m256d b, const int imm8)
+ /// VCMPPD ymm, ymm, ymm/m256, imm8
///
public static Vector256 Compare(Vector256 left, Vector256 right, FloatComparisonMode mode) { throw new PlatformNotSupportedException(); }
///
/// __m128d _mm_cmp_sd (__m128d a, __m128d b, const int imm8)
+ /// VCMPSS xmm, xmm, xmm/m32, imm8
///
public static Vector128 CompareScalar(Vector128 left, Vector128 right, FloatComparisonMode mode) { throw new PlatformNotSupportedException(); }
///
/// __m128 _mm_cmp_ss (__m128 a, __m128 b, const int imm8)
+ /// VCMPSD xmm, xmm, xmm/m64, imm8
///
public static Vector128 CompareScalar(Vector128 left, Vector128 right, FloatComparisonMode mode) { throw new PlatformNotSupportedException(); }
///
/// float _mm256_cvtss_f32 (__m256 a)
+ /// HELPER: VMOVSS
///
public static float ConvertToSingle(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_cvtpd_epi32 (__m256d a)
+ /// VCVTPD2DQ xmm, ymm/m256
///
public static Vector128 ConvertToVector128Int32(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m128 _mm256_cvtpd_ps (__m256d a)
+ /// VCVTPD2PS xmm, ymm/m256
///
public static Vector128 ConvertToVector128Single(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_cvtps_epi32 (__m256 a)
+ /// VCVTPS2DQ ymm, ymm/m256
///
public static Vector256 ConvertToVector256Int32(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_cvtepi32_ps (__m256i a)
+ /// VCVTDQ2PS ymm, ymm/m256
///
public static Vector256 ConvertToVector256Single(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_cvtps_pd (__m128 a)
+ /// VCVTPS2PD ymm, xmm/m128
///
- public static Vector256 ConvertToVector256Double(Vector256 value) { throw new PlatformNotSupportedException(); }
+ public static Vector256 ConvertToVector256Double(Vector128 value) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_cvtepi32_pd (__m128i a)
+ /// VCVTDQ2PD ymm, xmm/m128
///
- public static Vector256 ConvertToVector256Double(Vector256 value) { throw new PlatformNotSupportedException(); }
+ public static Vector256 ConvertToVector256Double(Vector128 value) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_cvttpd_epi32 (__m256d a)
+ /// VCVTTPD2DQ xmm, ymm/m256
///
public static Vector128 ConvertToVector128Int32WithTruncation(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_cvttps_epi32 (__m256 a)
+ /// VCVTTPS2DQ ymm, ymm/m256
///
public static Vector256 ConvertToVector256Int32WithTruncation(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_div_ps (__m256 a, __m256 b)
+ /// VDIVPS ymm, ymm, ymm/m256
///
public static Vector256 Divide(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_div_pd (__m256d a, __m256d b)
+ /// VDIVPD ymm, ymm, ymm/m256
///
public static Vector256 Divide(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_dp_ps (__m256 a, __m256 b, const int imm8)
+ /// VDPPS ymm, ymm, ymm/m256, imm8
///
public static Vector256 DotProduct(Vector256 left, Vector256 right, byte control) { throw new PlatformNotSupportedException(); }
-
+
///
/// __m256 _mm256_moveldup_ps (__m256 a)
+ /// VMOVSLDUP ymm, ymm/m256
///
public static Vector256 DuplicateEvenIndexed(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_movedup_pd (__m256d a)
+ /// VMOVDDUP ymm, ymm/m256
///
public static Vector256 DuplicateEvenIndexed(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_movehdup_ps (__m256 a)
+ /// VMOVSHDUP ymm, ymm/m256
///
public static Vector256 DuplicateOddIndexed(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __int8 _mm256_extract_epi8 (__m256i a, const int index)
+ /// HELPER
///
public static sbyte Extract(Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __int8 _mm256_extract_epi8 (__m256i a, const int index)
+ /// HELPER
///
public static byte Extract(Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __int16 _mm256_extract_epi16 (__m256i a, const int index)
+ /// HELPER
///
public static short Extract(Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __int16 _mm256_extract_epi16 (__m256i a, const int index)
+ /// HELPER
///
public static ushort Extract(Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __int32 _mm256_extract_epi32 (__m256i a, const int index)
+ /// HELPER
///
public static int Extract(Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __int32 _mm256_extract_epi32 (__m256i a, const int index)
+ /// HELPER
///
public static uint Extract(Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __int64 _mm256_extract_epi64 (__m256i a, const int index)
+ /// HELPER
///
public static long Extract(Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __int64 _mm256_extract_epi64 (__m256i a, const int index)
+ /// HELPER
///
public static ulong Extract(Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
-
+
///
/// __m128 _mm256_extractf128_ps (__m256 a, const int imm8)
+ /// VEXTRACTF128 xmm/m128, ymm, imm8
/// __m128d _mm256_extractf128_pd (__m256d a, const int imm8)
+ /// VEXTRACTF128 xmm/m128, ymm, imm8
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 xmm/m128, ymm, imm8
///
public static Vector128 ExtractVector128(Vector256 value, byte index) where T : struct { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(byte* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(sbyte* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(short* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(ushort* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(int* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(uint* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(long* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128i _mm256_extractf128_si256 (__m256i a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(ulong* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128 _mm256_extractf128_ps (__m256 a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(float* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m128d _mm256_extractf128_pd (__m256d a, const int imm8)
+ /// VEXTRACTF128 m128, ymm, imm8
///
public static unsafe void ExtractVector128(double* address, Vector256 value, byte index) { throw new PlatformNotSupportedException(); }
-
+
///
/// __m256d _mm256_castpd128_pd256 (__m128d a)
+ /// HELPER - No Codegen
/// __m256 _mm256_castps128_ps256 (__m128 a)
+ /// HELPER - No Codegen
/// __m256i _mm256_castsi128_si256 (__m128i a)
+ /// HELPER - No Codegen
///
public static Vector256 ExtendToVector256(Vector128 value) where T : struct { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_floor_ps (__m256 a)
+ /// VROUNDPS ymm, ymm/m256, imm8(9)
///
public static Vector256 Floor(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_floor_pd (__m256d a)
+ /// VROUNDPS ymm, ymm/m256, imm8(9)
///
public static Vector256 Floor(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m128d _mm256_castpd256_pd128 (__m256d a)
+ /// HELPER - No Codegen
/// __m128 _mm256_castps256_ps128 (__m256 a)
+ /// HELPER - No Codegen
/// __m128i _mm256_castsi256_si128 (__m256i a)
+ /// HELPER - No Codegen
///
public static Vector128 GetLowerHalf(Vector256 value) where T : struct { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_hadd_ps (__m256 a, __m256 b)
+ /// VHADDPS ymm, ymm, ymm/m256
///
public static Vector256 HorizontalAdd(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_hadd_pd (__m256d a, __m256d b)
+ /// VHADDPD ymm, ymm, ymm/m256
///
public static Vector256 HorizontalAdd(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_hsub_ps (__m256 a, __m256 b)
+ /// VHSUBPS ymm, ymm, ymm/m256
///
public static Vector256 HorizontalSubtract(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_hsub_pd (__m256d a, __m256d b)
+ /// VHSUBPD ymm, ymm, ymm/m256
///
public static Vector256 HorizontalSubtract(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insert_epi8 (__m256i a, __int8 i, const int index)
+ /// HELPER
///
public static Vector256 Insert(Vector256 value, sbyte data, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insert_epi8 (__m256i a, __int8 i, const int index)
+ /// HELPER
///
public static Vector256 Insert(Vector256 value, byte data, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insert_epi16 (__m256i a, __int16 i, const int index)
+ /// HELPER
///
public static Vector256 Insert(Vector256 value, short data, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insert_epi16 (__m256i a, __int16 i, const int index)
+ /// HELPER
///
public static Vector256 Insert(Vector256 value, ushort data, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insert_epi32 (__m256i a, __int32 i, const int index)
+ /// HELPER
///
public static Vector256 Insert(Vector256 value, int data, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insert_epi32 (__m256i a, __int32 i, const int index)
+ /// HELPER
///
public static Vector256 Insert(Vector256 value, uint data, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insert_epi64 (__m256i a, __int64 i, const int index)
+ /// HELPER
///
public static Vector256 Insert(Vector256 value, long data, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insert_epi64 (__m256i a, __int64 i, const int index)
+ /// HELPER
///
public static Vector256 Insert(Vector256 value, ulong data, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_insertf128_ps (__m256 a, __m128 b, int imm8)
+ /// VINSERTF128 ymm, ymm, xmm/m128, imm8
/// __m256d _mm256_insertf128_pd (__m256d a, __m128d b, int imm8)
+ /// VINSERTF128 ymm, ymm, xmm/m128, imm8
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, xmm/m128, imm8
///
public static Vector256 Insert(Vector256 value, Vector128 data, byte index) where T : struct { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, sbyte* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, byte* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, short* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, ushort* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, int* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, uint* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, long* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, ulong* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_insertf128_ps (__m256 a, __m128 b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, float* address, byte index) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_insertf128_pd (__m256d a, __m128d b, int imm8)
+ /// VINSERTF128 ymm, ymm, m128, imm8
///
public static unsafe Vector256 Insert(Vector256 value, double* address, byte index) { throw new PlatformNotSupportedException(); }
-
+
///
/// __m256i _mm256_loadu_si256 (__m256i const * mem_addr)
+ /// VMOVDQU ymm, m256
///
public static unsafe Vector256 LoadVector256(sbyte* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_loadu_si256 (__m256i const * mem_addr)
+ /// VMOVDQU ymm, m256
///
public static unsafe Vector256 LoadVector256(byte* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_loadu_si256 (__m256i const * mem_addr)
+ /// VMOVDQU ymm, m256
///
public static unsafe Vector256 LoadVector256(short* address) { throw new PlatformNotSupportedException(); }
///