// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Runtime.Intrinsics;
namespace System.Runtime.Intrinsics.X86
{
///
/// This class provides access to Intel AVX hardware instructions via intrinsics
///
[CLSCompliant(false)]
public abstract class Avx : Sse42
{
internal Avx() { }
public new static bool IsSupported { get { return false; } }
///
/// __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 unsafe Vector128 BroadcastScalarToVector128(float* source) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_broadcast_ss (float const * mem_addr)
/// VBROADCASTSS ymm, m32
///
public static unsafe Vector256 BroadcastScalarToVector256(float* source) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_broadcast_sd (double const * mem_addr)
/// VBROADCASTSD ymm, m64
///
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(Vector128 value) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_cvtepi32_pd (__m128i a)
/// VCVTDQ2PD ymm, xmm/m128
///
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 byte 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 InsertVector128(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 InsertVector128(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 InsertVector128(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 InsertVector128(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 InsertVector128(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 InsertVector128(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 InsertVector128(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 InsertVector128(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 InsertVector128(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 InsertVector128(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 InsertVector128(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(); }
///
/// __m256i _mm256_loadu_si256 (__m256i const * mem_addr)
/// VMOVDQU ymm, m256
///
public static unsafe Vector256 LoadVector256(ushort* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_loadu_si256 (__m256i const * mem_addr)
/// VMOVDQU ymm, m256
///
public static unsafe Vector256 LoadVector256(int* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_loadu_si256 (__m256i const * mem_addr)
/// VMOVDQU ymm, m256
///
public static unsafe Vector256 LoadVector256(uint* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_loadu_si256 (__m256i const * mem_addr)
/// VMOVDQU ymm, m256
///
public static unsafe Vector256 LoadVector256(long* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_loadu_si256 (__m256i const * mem_addr)
/// VMOVDQU ymm, m256
///
public static unsafe Vector256 LoadVector256(ulong* address) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_loadu_ps (float const * mem_addr)
/// VMOVUPS ymm, ymm/m256
///
public static unsafe Vector256 LoadVector256(float* address) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_loadu_pd (double const * mem_addr)
/// VMOVUPD ymm, ymm/m256
///
public static unsafe Vector256 LoadVector256(double* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_load_si256 (__m256i const * mem_addr)
/// VMOVDQA ymm, m256
///
public static unsafe Vector256 LoadAlignedVector256(sbyte* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_load_si256 (__m256i const * mem_addr)
/// VMOVDQA ymm, m256
///
public static unsafe Vector256 LoadAlignedVector256(byte* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_load_si256 (__m256i const * mem_addr)
/// VMOVDQA ymm, m256
///
public static unsafe Vector256 LoadAlignedVector256(short* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_load_si256 (__m256i const * mem_addr)
/// VMOVDQA ymm, m256
///
public static unsafe Vector256 LoadAlignedVector256(ushort* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_load_si256 (__m256i const * mem_addr)
/// VMOVDQA ymm, m256
///
public static unsafe Vector256 LoadAlignedVector256(int* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_load_si256 (__m256i const * mem_addr)
/// VMOVDQA ymm, m256
///
public static unsafe Vector256 LoadAlignedVector256(uint* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_load_si256 (__m256i const * mem_addr)
/// VMOVDQA ymm, m256
///
public static unsafe Vector256 LoadAlignedVector256(long* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_load_si256 (__m256i const * mem_addr)
/// VMOVDQA ymm, m256
///
public static unsafe Vector256 LoadAlignedVector256(ulong* address) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_load_ps (float const * mem_addr)
/// VMOVAPS ymm, ymm/m256
///
public static unsafe Vector256 LoadAlignedVector256(float* address) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_load_pd (double const * mem_addr)
/// VMOVAPD ymm, ymm/m256
///
public static unsafe Vector256 LoadAlignedVector256(double* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_lddqu_si256 (__m256i const * mem_addr)
/// VLDDQU ymm, m256
///
public static unsafe Vector256 LoadDquVector256(sbyte* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_lddqu_si256 (__m256i const * mem_addr)
/// VLDDQU ymm, m256
///
public static unsafe Vector256 LoadDquVector256(byte* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_lddqu_si256 (__m256i const * mem_addr)
/// VLDDQU ymm, m256
///
public static unsafe Vector256 LoadDquVector256(short* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_lddqu_si256 (__m256i const * mem_addr)
/// VLDDQU ymm, m256
///
public static unsafe Vector256 LoadDquVector256(ushort* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_lddqu_si256 (__m256i const * mem_addr)
/// VLDDQU ymm, m256
///
public static unsafe Vector256 LoadDquVector256(int* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_lddqu_si256 (__m256i const * mem_addr)
/// VLDDQU ymm, m256
///
public static unsafe Vector256 LoadDquVector256(uint* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_lddqu_si256 (__m256i const * mem_addr)
/// VLDDQU ymm, m256
///
public static unsafe Vector256 LoadDquVector256(long* address) { throw new PlatformNotSupportedException(); }
///
/// __m256i _mm256_lddqu_si256 (__m256i const * mem_addr)
/// VLDDQU ymm, m256
///
public static unsafe Vector256 LoadDquVector256(ulong* address) { throw new PlatformNotSupportedException(); }
///
/// __m128 _mm_maskload_ps (float const * mem_addr, __m128i mask)
/// VMASKMOVPS xmm, xmm, m128
///
public static unsafe Vector128 MaskLoad(float* address, Vector128 mask) { throw new PlatformNotSupportedException(); }
///
/// __m128d _mm_maskload_pd (double const * mem_addr, __m128i mask)
/// VMASKMOVPD xmm, xmm, m128
///
public static unsafe Vector128 MaskLoad(double* address, Vector128 mask) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_maskload_ps (float const * mem_addr, __m256i mask)
/// VMASKMOVPS ymm, ymm, m256
///
public static unsafe Vector256 MaskLoad(float* address, Vector256 mask) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_maskload_pd (double const * mem_addr, __m256i mask)
/// VMASKMOVPD ymm, ymm, m256
///
public static unsafe Vector256 MaskLoad(double* address, Vector256 mask) { throw new PlatformNotSupportedException(); }
///
/// void _mm_maskstore_ps (float * mem_addr, __m128i mask, __m128 a)
/// VMASKMOVPS m128, xmm, xmm
///
public static unsafe void MaskStore(float* address, Vector128 mask, Vector128 source) { throw new PlatformNotSupportedException(); }
///
/// void _mm_maskstore_pd (double * mem_addr, __m128i mask, __m128d a)
/// VMASKMOVPD m128, xmm, xmm
///
public static unsafe void MaskStore(double* address, Vector128 mask, Vector128 source) { throw new PlatformNotSupportedException(); }
///
/// void _mm256_maskstore_ps (float * mem_addr, __m256i mask, __m256 a)
/// VMASKMOVPS m256, ymm, ymm
///
public static unsafe void MaskStore(float* address, Vector256 mask, Vector256 source) { throw new PlatformNotSupportedException(); }
///
/// void _mm256_maskstore_pd (double * mem_addr, __m256i mask, __m256d a)
/// VMASKMOVPD m256, ymm, ymm
///
public static unsafe void MaskStore(double* address, Vector256 mask, Vector256 source) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_max_ps (__m256 a, __m256 b)
/// VMAXPS ymm, ymm, ymm/m256
///
public static Vector256 Max(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_max_pd (__m256d a, __m256d b)
/// VMAXPD ymm, ymm, ymm/m256
///
public static Vector256 Max(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_min_ps (__m256 a, __m256 b)
/// VMINPS ymm, ymm, ymm/m256
///
public static Vector256 Min(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_min_pd (__m256d a, __m256d b)
/// VMINPD ymm, ymm, ymm/m256
///
public static Vector256 Min(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// int _mm256_movemask_ps (__m256 a)
/// VMOVMSKPS reg, ymm
///
public static int MoveMask(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// int _mm256_movemask_pd (__m256d a)
/// VMOVMSKPD reg, ymm
///
public static int MoveMask(Vector256 value) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_mul_ps (__m256 a, __m256 b)
/// VMULPS ymm, ymm, ymm/m256
///
public static Vector256 Multiply(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_mul_pd (__m256d a, __m256d b)
/// VMULPD ymm, ymm, ymm/m256
///
public static Vector256 Multiply(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_or_ps (__m256 a, __m256 b)
/// VORPS ymm, ymm, ymm/m256
///
public static Vector256 Or(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m256d _mm256_or_pd (__m256d a, __m256d b)
/// VORPD ymm, ymm, ymm/m256
///
public static Vector256 Or(Vector256 left, Vector256 right) { throw new PlatformNotSupportedException(); }
///
/// __m128 _mm_permute_ps (__m128 a, int imm8)
/// VPERMILPS xmm, xmm, imm8
///
public static Vector128 Permute(Vector128 value, byte control) { throw new PlatformNotSupportedException(); }
///
/// __m128d _mm_permute_pd (__m128d a, int imm8)
/// VPERMILPD xmm, xmm, imm8
///
public static Vector128 Permute(Vector128 value, byte control) { throw new PlatformNotSupportedException(); }
///
/// __m256 _mm256_permute_ps (__m256 a, int imm8)
/// VPERMILPS ymm, ymm, imm8
///
public static Vector256 Permute(Vector256 value, byte control) { throw new PlatformNotSupportedException(); }
///