Avx 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
重要
此 API 不符合 CLS 規範。
此類別可讓您透過內建函式存取 Intel AVX 硬體指示。
public ref class Avx abstract : System::Runtime::Intrinsics::X86::Sse42
[System.CLSCompliant(false)]
public abstract class Avx : System.Runtime.Intrinsics.X86.Sse42
[<System.CLSCompliant(false)>]
type Avx = class
inherit Sse42
Public MustInherit Class Avx
Inherits Sse42
- 繼承
- 繼承
- 衍生
- 屬性
屬性
IsSupported |
此類別可讓您透過內建函式存取 Intel AVX 硬體指示。 |
方法
Add(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_add_pd (__m256d a, __m256d b) VADDPD ymm, ymm, ymm/m256 |
Add(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_add_ps (__m256 a, __m256 b) VADDPS ymm, ymm, ymm/m256 |
AddSubtract(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_addsub_pd (__m256d a, __m256d b) VADDSUBPD ymm, ymm, ymm/m256 |
AddSubtract(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_addsub_ps (__m256 a, __m256 b) VADDSUBPS ymm, ymm, ymm/m256 |
And(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_and_pd (__m256d a, __m256d b) VANDPD ymm, ymm, ymm/m256 |
And(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_and_ps (__m256 a, __m256 b) VANDPS ymm, ymm, ymm/m256 |
AndNot(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_andnot_pd (__m256d a, __m256d b) VANDNPD ymm, ymm, ymm/m256 |
AndNot(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_andnot_ps (__m256 a, __m256 b) VANDNPS ymm, ymm, ymm/m256 |
Blend(Vector256<Double>, Vector256<Double>, Byte) |
__m256d _mm256_blend_pd (__m256d a, __m256d b, const int imm8) VBLENDPD ymm, ymm, ymm/m256, imm8 |
Blend(Vector256<Single>, Vector256<Single>, Byte) |
__m256 _mm256_blend_ps (__m256 a, __m256 b, const int imm8) VBLENDPS ymm, ymm, ymm/m256, imm8 |
BlendVariable(Vector256<Double>, Vector256<Double>, Vector256<Double>) |
__m256d _mm256_blendv_pd (__m256d a, __m256d b, __m256d mask) VBLENDVPD ymm, ymm, ymm/m256, ymm |
BlendVariable(Vector256<Single>, Vector256<Single>, Vector256<Single>) |
__m256 _mm256_blendv_ps (__m256 a, __m256 b, __m256 mask) VBLENDVPS ymm, ymm, ymm/m256, ymm |
BroadcastScalarToVector128(Single*) |
__m128 _mm_broadcast_ss (float const * mem_addr) VBROADCASTSS xmm, m32 |
BroadcastScalarToVector256(Double*) |
__m256d _mm256_broadcast_sd (double const * mem_addr) VBROADCASTSD ymm, m64 |
BroadcastScalarToVector256(Single*) |
__m256 _mm256_broadcast_ss (float const * mem_addr) VBROADCASTSS ymm, m32 |
BroadcastVector128ToVector256(Double*) |
__m256d _mm256_broadcast_pd (__m128d const * mem_addr) VBROADCASTF128, ymm, m128 |
BroadcastVector128ToVector256(Single*) |
__m256 _mm256_broadcast_ps (__m128 const * mem_addr) VBROADCASTF128, ymm, m128 |
Ceiling(Vector256<Double>) |
__m256d _mm256_ceil_pd (__m256d a) VROUNDPD ymm, ymm/m256, imm8(10) |
Ceiling(Vector256<Single>) |
__m256 _mm256_ceil_ps (__m256 a) VROUNDPS ymm, ymm/m256, imm8(10) |
Compare(Vector128<Double>, Vector128<Double>, FloatComparisonMode) |
__m128d _mm_cmp_pd (__m128d a, __m128d b, const int imm8) VCMPPD xmm, xmm, xmm/m128, imm8 |
Compare(Vector128<Single>, Vector128<Single>, FloatComparisonMode) |
__m128 _mm_cmp_ps (__m128 a, __m128 b, const int imm8) VCMPPS xmm, xmm, xmm/m128, imm8 |
Compare(Vector256<Double>, Vector256<Double>, FloatComparisonMode) |
__m256d _mm256_cmp_pd (__m256d a, __m256d b, const int imm8) VCMPPD ymm, ymm, ymm/m256, imm8 |
Compare(Vector256<Single>, Vector256<Single>, FloatComparisonMode) |
__m256 _mm256_cmp_ps (__m256 a, __m256 b, const int imm8) VCMPPS ymm, ymm, ymm/m256, imm8 |
CompareEqual(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpeq_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (0) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareEqual(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpeq_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (0) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareGreaterThan(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpgt_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (14) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareGreaterThan(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpgt_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (14) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareGreaterThanOrEqual(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpge_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (13) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareGreaterThanOrEqual(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpge_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (13) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareLessThan(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmplt_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (1) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareLessThan(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmplt_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (1) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareLessThanOrEqual(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmple_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (2) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareLessThanOrEqual(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmple_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (2) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotEqual(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpneq_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (4) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotEqual(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpneq_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (4) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotGreaterThan(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpngt_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (10) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotGreaterThan(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpngt_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (10) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotGreaterThanOrEqual(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpnge_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (9) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotGreaterThanOrEqual(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpnge_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (9) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotLessThan(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpnlt_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (5) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotLessThan(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpnlt_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (5) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotLessThanOrEqual(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpnle_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (6) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareNotLessThanOrEqual(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpnle_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (6) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareOrdered(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpord_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (7) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareOrdered(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpord_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (7) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareScalar(Vector128<Double>, Vector128<Double>, FloatComparisonMode) |
__m128d _mm_cmp_sd (__m128d a, __m128d b, const int imm8) VCMPSS xmm, xmm, xmm/m32, imm8 |
CompareScalar(Vector128<Single>, Vector128<Single>, FloatComparisonMode) |
__m128 _mm_cmp_ss (__m128 a, __m128 b, const int imm8) VCMPSD xmm, xmm, xmm/m64, imm8 |
CompareUnordered(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_cmpunord_pd (__m256d a, __m256d b) CMPPD ymm, ymm/m256, imm8 (3) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
CompareUnordered(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_cmpunord_ps (__m256 a, __m256 b) CMPPS ymm, ymm/m256, imm8 (3) 上述原生簽章不存在。 為完整起見,我們提供這項額外的多載。 |
ConvertToVector128Int32(Vector256<Double>) |
__m128i _mm256_cvtpd_epi32 (__m256d a) VCVTPD2DQ xmm, ymm/m256 |
ConvertToVector128Int32WithTruncation(Vector256<Double>) |
__m128i _mm256_cvttpd_epi32 (__m256d a) VCVTTPD2DQ xmm, ymm/m256 |
ConvertToVector128Single(Vector256<Double>) |
__m128 _mm256_cvtpd_ps (__m256d a) VCVTPD2PS xmm, ymm/m256 |
ConvertToVector256Double(Vector128<Int32>) |
__m256d _mm256_cvtepi32_pd (__m128i a) VCVTDQ2PD ymm, xmm/m128 |
ConvertToVector256Double(Vector128<Single>) |
__m256d _mm256_cvtps_pd (__m128 a) VCVTPS2PD ymm, xmm/m128 |
ConvertToVector256Int32(Vector256<Single>) |
__m256i _mm256_cvtps_epi32 (__m256 a) VCVTPS2DQ ymm, ymm/m256 |
ConvertToVector256Int32WithTruncation(Vector256<Single>) |
__m256i _mm256_cvttps_epi32 (__m256 a) VCVTTPS2DQ ymm, ymm/m256 |
ConvertToVector256Single(Vector256<Int32>) |
__m256 _mm256_cvtepi32_ps (__m256i a) VCVTDQ2PS ymm, ymm/m256 |
Divide(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_div_pd (__m256d a, __m256d b) VDIVPD ymm, ymm, ymm/m256 |
Divide(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_div_ps (__m256 a, __m256 b) VDIVPS ymm, ymm, ymm/m256 |
DotProduct(Vector256<Single>, Vector256<Single>, Byte) |
__m256 _mm256_dp_ps (__m256 a, __m256 b, const int imm8) VDPPS ymm, ymm, ymm/m256, imm8 |
DuplicateEvenIndexed(Vector256<Double>) |
__m256d _mm256_movedup_pd (__m256d a) VMOVDDUP ymm, ymm/m256 |
DuplicateEvenIndexed(Vector256<Single>) |
__m256 _mm256_moveldup_ps (__m256 a) VMOVSLDUP ymm, ymm/m256 |
DuplicateOddIndexed(Vector256<Single>) |
__m256 _mm256_movehdup_ps (__m256 a) VMOVSHDUP ymm, ymm/m256 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
ExtractVector128(Vector256<Byte>, Byte) |
__m128i _mm256_extractf128_si256 (__m256i a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<Double>, Byte) |
__m128d _mm256_extractf128_pd (__m256d a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<Int16>, Byte) |
__m128i _mm256_extractf128_si256 (__m256i a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<Int32>, Byte) |
__m128i _mm256_extractf128_si256 (__m256i a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<Int64>, Byte) |
__m128i _mm256_extractf128_si256 (__m256i a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<SByte>, Byte) |
__m128i _mm256_extractf128_si256 (__m256i a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<Single>, Byte) |
__m128 _mm256_extractf128_ps (__m256 a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<UInt16>, Byte) |
__m128i _mm256_extractf128_si256 (__m256i a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<UInt32>, Byte) |
__m128i _mm256_extractf128_si256 (__m256i a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
ExtractVector128(Vector256<UInt64>, Byte) |
__m128i _mm256_extractf128_si256 (__m256i a, const int imm8) VEXTRACTF128 xmm/m128, ymm, imm8 |
Floor(Vector256<Double>) |
__m256d _mm256_floor_pd (__m256d a) VROUNDPS ymm, ymm/m256, imm8(9) |
Floor(Vector256<Single>) |
__m256 _mm256_floor_ps (__m256 a) VROUNDPS ymm, ymm/m256, imm8(9) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
HorizontalAdd(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_hadd_pd (__m256d a, __m256d b) VHADDPD ymm, ymm, ymm/m256 |
HorizontalAdd(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_hadd_ps (__m256 a, __m256 b) VHADDPS ymm, ymm, ymm/m256 |
HorizontalSubtract(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_hsub_pd (__m256d a, __m256d b) VHSUBPD ymm, ymm, ymm/m256 |
HorizontalSubtract(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_hsub_ps (__m256 a, __m256 b) VHSUBPS ymm, ymm, ymm/m256 |
InsertVector128(Vector256<Byte>, Vector128<Byte>, Byte) |
__m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<Double>, Vector128<Double>, Byte) |
__m256d _mm256_insertf128_pd (__m256d a, __m128d b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<Int16>, Vector128<Int16>, Byte) |
__m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<Int32>, Vector128<Int32>, Byte) |
__m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<Int64>, Vector128<Int64>, Byte) |
__m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<SByte>, Vector128<SByte>, Byte) |
__m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<Single>, Vector128<Single>, Byte) |
__m256 _mm256_insertf128_ps (__m256 a, __m128 b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<UInt16>, Vector128<UInt16>, Byte) |
__m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<UInt32>, Vector128<UInt32>, Byte) |
__m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
InsertVector128(Vector256<UInt64>, Vector128<UInt64>, Byte) |
__m256i _mm256_insertf128_si256 (__m256i a, __m128i b, int imm8) VINSERTF128 ymm, ymm, xmm/m128, imm8 |
LoadAlignedVector256(Byte*) |
__m256i _mm256_load_si256 (__m256i const * mem_addr) VMOVDQA ymm, m256 |
LoadAlignedVector256(Double*) |
__m256d _mm256_load_pd (double const * mem_addr) VMOVAPD ymm, ymm/m256 |
LoadAlignedVector256(Int16*) |
__m256i _mm256_load_si256 (__m256i const * mem_addr) VMOVDQA ymm, m256 |
LoadAlignedVector256(Int32*) |
__m256i _mm256_load_si256 (__m256i const * mem_addr) VMOVDQA ymm, m256 |
LoadAlignedVector256(Int64*) |
__m256i _mm256_load_si256 (__m256i const * mem_addr) VMOVDQA ymm, m256 |
LoadAlignedVector256(SByte*) |
__m256i _mm256_load_si256 (__m256i const * mem_addr) VMOVDQA ymm, m256 |
LoadAlignedVector256(Single*) |
__m256 _mm256_load_ps (float const * mem_addr) VMOVAPS ymm, ymm/m256 |
LoadAlignedVector256(UInt16*) |
__m256i _mm256_load_si256 (__m256i const * mem_addr) VMOVDQA ymm, m256 |
LoadAlignedVector256(UInt32*) |
__m256i _mm256_load_si256 (__m256i const * mem_addr) VMOVDQA ymm, m256 |
LoadAlignedVector256(UInt64*) |
__m256i _mm256_load_si256 (__m256i const * mem_addr) VMOVDQA ymm, m256 |
LoadDquVector256(Byte*) |
__m256i _mm256_lddqu_si256 (__m256i const * mem_addr) VLDDQU ymm, m256 |
LoadDquVector256(Int16*) |
__m256i _mm256_lddqu_si256 (__m256i const * mem_addr) VLDDQU ymm, m256 |
LoadDquVector256(Int32*) |
__m256i _mm256_lddqu_si256 (__m256i const * mem_addr) VLDDQU ymm, m256 |
LoadDquVector256(Int64*) |
__m256i _mm256_lddqu_si256 (__m256i const * mem_addr) VLDDQU ymm, m256 |
LoadDquVector256(SByte*) |
__m256i _mm256_lddqu_si256 (__m256i const * mem_addr) VLDDQU ymm, m256 |
LoadDquVector256(UInt16*) |
__m256i _mm256_lddqu_si256 (__m256i const * mem_addr) VLDDQU ymm, m256 |
LoadDquVector256(UInt32*) |
__m256i _mm256_lddqu_si256 (__m256i const * mem_addr) VLDDQU ymm, m256 |
LoadDquVector256(UInt64*) |
__m256i _mm256_lddqu_si256 (__m256i const * mem_addr) VLDDQU ymm, m256 |
LoadVector256(Byte*) |
__m256i _mm256_loadu_si256 (__m256i const * mem_addr) VMOVDQU ymm, m256 |
LoadVector256(Double*) |
__m256d _mm256_loadu_pd (double const * mem_addr) VMOVUPD ymm, ymm/m256 |
LoadVector256(Int16*) |
__m256i _mm256_loadu_si256 (__m256i const * mem_addr) VMOVDQU ymm, m256 |
LoadVector256(Int32*) |
__m256i _mm256_loadu_si256 (__m256i const * mem_addr) VMOVDQU ymm, m256 |
LoadVector256(Int64*) |
__m256i _mm256_loadu_si256 (__m256i const * mem_addr) VMOVDQU ymm, m256 |
LoadVector256(SByte*) |
__m256i _mm256_loadu_si256 (__m256i const * mem_addr) VMOVDQU ymm, m256 |
LoadVector256(Single*) |
__m256 _mm256_loadu_ps (float const * mem_addr) VMOVUPS ymm, ymm/m256 |
LoadVector256(UInt16*) |
__m256i _mm256_loadu_si256 (__m256i const * mem_addr) VMOVDQU ymm, m256 |
LoadVector256(UInt32*) |
__m256i _mm256_loadu_si256 (__m256i const * mem_addr) VMOVDQU ymm, m256 |
LoadVector256(UInt64*) |
__m256i _mm256_loadu_si256 (__m256i const * mem_addr) VMOVDQU ymm, m256 |
MaskLoad(Double*, Vector128<Double>) |
__m128d _mm_maskload_pd (double const * mem_addr, __m128i mask) VMASKMOVPD xmm, xmm, m128 |
MaskLoad(Double*, Vector256<Double>) |
__m256d _mm256_maskload_pd (double const * mem_addr, __m256i mask) VMASKMOVPD ymm, ymm, m256 |
MaskLoad(Single*, Vector128<Single>) |
__m128 _mm_maskload_ps (float const * mem_addr, __m128i mask) VMASKMOVPS xmm, xmm, m128 |
MaskLoad(Single*, Vector256<Single>) |
__m256 _mm256_maskload_ps (float const * mem_addr, __m256i mask) VMASKMOVPS ymm, ymm, m256 |
MaskStore(Double*, Vector128<Double>, Vector128<Double>) |
void _mm_maskstore_pd (double * mem_addr, __m128i mask, __m128d a) VMASKMOVPD m128, xmm, xmm |
MaskStore(Double*, Vector256<Double>, Vector256<Double>) |
void _mm256_maskstore_pd (double * mem_addr, __m256i mask, __m256d a) VMASKMOVPD m256, ymm, ymm |
MaskStore(Single*, Vector128<Single>, Vector128<Single>) |
void _mm_maskstore_ps (float * mem_addr, __m128i mask, __m128 a) VMASKMOVPS m128, xmm, xmm |
MaskStore(Single*, Vector256<Single>, Vector256<Single>) |
void _mm256_maskstore_ps (float * mem_addr, __m256i mask, __m256 a) VMASKMOVPS m256, ymm, ymm |
Max(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_max_pd (__m256d a, __m256d b) VMAXPD ymm, ymm, ymm/m256 |
Max(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_max_ps (__m256 a, __m256 b) VMAXPS ymm, ymm, ymm/m256 |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Min(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_min_pd (__m256d a, __m256d b) VMINPD ymm, ymm, ymm/m256 |
Min(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_min_ps (__m256 a, __m256 b) VMINPS ymm, ymm, ymm/m256 |
MoveMask(Vector256<Double>) |
int _mm256_movemask_pd (__m256d a) VMOVMSKPD reg, ymm |
MoveMask(Vector256<Single>) |
int _mm256_movemask_ps (__m256 a) VMOVMSKPS reg, ymm |
Multiply(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_mul_pd (__m256d a, __m256d b) VMULPD ymm, ymm, ymm/m256 |
Multiply(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_mul_ps (__m256 a, __m256 b) VMULPS ymm, ymm, ymm/m256 |
Or(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_or_pd (__m256d a, __m256d b) VORPD ymm, ymm, ymm/m256 |
Or(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_or_ps (__m256 a, __m256 b) VORPS ymm, ymm, ymm/m256 |
Permute(Vector128<Double>, Byte) |
__m128d _mm_permute_pd (__m128d a, int imm8) VPERMILPD xmm, xmm, imm8 |
Permute(Vector128<Single>, Byte) |
__m128 _mm_permute_ps (__m128 a, int imm8) VPERMILPS xmm, xmm, imm8 |
Permute(Vector256<Double>, Byte) |
__m256d _mm256_permute_pd (__m256d a, int imm8) VPERMILPD ymm, ymm, imm8 |
Permute(Vector256<Single>, Byte) |
__m256 _mm256_permute_ps (__m256 a, int imm8) VPERMILPS ymm, ymm, imm8 |
Permute2x128(Vector256<Byte>, Vector256<Byte>, Byte) |
__m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<Double>, Vector256<Double>, Byte) |
__m256d _mm256_permute2f128_pd (__m256d a, __m256d b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<Int16>, Vector256<Int16>, Byte) |
__m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<Int32>, Vector256<Int32>, Byte) |
__m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<Int64>, Vector256<Int64>, Byte) |
__m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<SByte>, Vector256<SByte>, Byte) |
__m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<Single>, Vector256<Single>, Byte) |
__m256 _mm256_permute2f128_ps (__m256 a, __m256 b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<UInt16>, Vector256<UInt16>, Byte) |
__m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<UInt32>, Vector256<UInt32>, Byte) |
__m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
Permute2x128(Vector256<UInt64>, Vector256<UInt64>, Byte) |
__m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) VPERM2F128 ymm, ymm, ymm/m256, imm8 |
PermuteVar(Vector128<Double>, Vector128<Int64>) |
__m128d _mm_permutevar_pd (__m128d a, __m128i b) VPERMILPD xmm, xmm, xmm/m128 |
PermuteVar(Vector128<Single>, Vector128<Int32>) |
__m128 _mm_permutevar_ps (__m128 a, __m128i b) VPERMILPS xmm, xmm, xmm/m128 |
PermuteVar(Vector256<Double>, Vector256<Int64>) |
__m256d _mm256_permutevar_pd (__m256d a, __m256i b) VPERMILPD ymm, ymm, ymm/m256 |
PermuteVar(Vector256<Single>, Vector256<Int32>) |
__m256 _mm256_permutevar_ps (__m256 a, __m256i b) VPERMILPS ymm, ymm, ymm/m256 |
Reciprocal(Vector256<Single>) |
__m256 _mm256_rcp_ps (__m256 a) VRCPPS ymm, ymm/m256 |
ReciprocalSqrt(Vector256<Single>) |
__m256 _mm256_rsqrt_ps (__m256 a) VRSQRTPS ymm, ymm/m256 |
RoundCurrentDirection(Vector256<Double>) |
__m256d _mm256_round_pd (__m256d a, _MM_FROUND_CUR_DIRECTION) VROUNDPD ymm, ymm/m256, imm8(4) |
RoundCurrentDirection(Vector256<Single>) |
__m256 _mm256_round_ps (__m256 a, _MM_FROUND_CUR_DIRECTION) VROUNDPS ymm, ymm/m256, imm8(4) |
RoundToNearestInteger(Vector256<Double>) |
__m256d _mm256_round_pd (__m256d a, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) VROUNDPD ymm, ymm/m256, imm8(8) |
RoundToNearestInteger(Vector256<Single>) |
__m256 _mm256_round_ps (__m256 a, _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC) VROUNDPS ymm, ymm/m256, imm8(8) |
RoundToNegativeInfinity(Vector256<Double>) |
__m256d _mm256_round_pd (__m256d a, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) VROUNDPD ymm, ymm/m256, imm8(9) |
RoundToNegativeInfinity(Vector256<Single>) |
__m256 _mm256_round_ps (__m256 a, _MM_FROUND_TO_NEG_INF | _MM_FROUND_NO_EXC) VROUNDPS ymm, ymm/m256, imm8(9) |
RoundToPositiveInfinity(Vector256<Double>) |
__m256d _mm256_round_pd (__m256d a, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) VROUNDPD ymm, ymm/m256, imm8(10) |
RoundToPositiveInfinity(Vector256<Single>) |
__m256 _mm256_round_ps (__m256 a, _MM_FROUND_TO_POS_INF | _MM_FROUND_NO_EXC) VROUNDPS ymm, ymm/m256, imm8(10) |
RoundToZero(Vector256<Double>) |
__m256d _mm256_round_pd (__m256d a, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) VROUNDPD ymm, ymm/m256, imm8(11) |
RoundToZero(Vector256<Single>) |
__m256 _mm256_round_ps (__m256 a, _MM_FROUND_TO_ZERO | _MM_FROUND_NO_EXC) VROUNDPS ymm, ymm/m256, imm8(11) |
Shuffle(Vector256<Double>, Vector256<Double>, Byte) |
__m256d _mm256_shuffle_pd (__m256d a, __m256d b, const int imm8) VSHUFPD ymm, ymm, ymm/m256, imm8 |
Shuffle(Vector256<Single>, Vector256<Single>, Byte) |
__m256 _mm256_shuffle_ps (__m256 a, __m256 b, const int imm8) VSHUFPS ymm, ymm, ymm/m256, imm8 |
Sqrt(Vector256<Double>) |
__m256d _mm256_sqrt_pd (__m256d a) VSQRTPD ymm, ymm/m256 |
Sqrt(Vector256<Single>) |
__m256 _mm256_sqrt_ps (__m256 a) VSQRTPS ymm, ymm/m256 |
Store(Byte*, Vector256<Byte>) |
void _mm256_storeu_si256 (__m256i * mem_addr, __m256i a) MOVDQU m256, ymm |
Store(Double*, Vector256<Double>) |
void _mm256_storeu_pd (double * mem_addr, __m256d a) MOVUPD m256, ymm |
Store(Int16*, Vector256<Int16>) |
void _mm256_storeu_si256 (__m256i * mem_addr, __m256i a) MOVDQU m256, ymm |
Store(Int32*, Vector256<Int32>) |
void _mm256_storeu_si256 (__m256i * mem_addr, __m256i a) MOVDQU m256, ymm |
Store(Int64*, Vector256<Int64>) |
void _mm256_storeu_si256 (__m256i * mem_addr, __m256i a) MOVDQU m256, ymm |
Store(SByte*, Vector256<SByte>) |
void _mm256_storeu_si256 (__m256i * mem_addr, __m256i a) MOVDQU m256, ymm |
Store(Single*, Vector256<Single>) |
void _mm256_storeu_ps (float * mem_addr, __m256 a) MOVUPS m256, ymm |
Store(UInt16*, Vector256<UInt16>) |
void _mm256_storeu_si256 (__m256i * mem_addr, __m256i a) MOVDQU m256, ymm |
Store(UInt32*, Vector256<UInt32>) |
void _mm256_storeu_si256 (__m256i * mem_addr, __m256i a) MOVDQU m256, ymm |
Store(UInt64*, Vector256<UInt64>) |
void _mm256_storeu_si256 (__m256i * mem_addr, __m256i a) MOVDQU m256, ymm |
StoreAligned(Byte*, Vector256<Byte>) |
void _mm256_store_si256 (__m256i * mem_addr, __m256i a) MOVDQA m256, ymm |
StoreAligned(Double*, Vector256<Double>) |
void _mm256_store_pd (double * mem_addr, __m256d a) VMOVAPD m256, ymm |
StoreAligned(Int16*, Vector256<Int16>) |
void _mm256_store_si256 (__m256i * mem_addr, __m256i a) MOVDQA m256, ymm |
StoreAligned(Int32*, Vector256<Int32>) |
void _mm256_store_si256 (__m256i * mem_addr, __m256i a) MOVDQA m256, ymm |
StoreAligned(Int64*, Vector256<Int64>) |
void _mm256_store_si256 (__m256i * mem_addr, __m256i a) MOVDQA m256, ymm |
StoreAligned(SByte*, Vector256<SByte>) |
void _mm256_store_si256 (__m256i * mem_addr, __m256i a) MOVDQA m256, ymm |
StoreAligned(Single*, Vector256<Single>) |
void _mm256_store_ps (float * mem_addr, __m256 a) VMOVAPS m256, ymm |
StoreAligned(UInt16*, Vector256<UInt16>) |
void _mm256_store_si256 (__m256i * mem_addr, __m256i a) MOVDQA m256, ymm |
StoreAligned(UInt32*, Vector256<UInt32>) |
void _mm256_store_si256 (__m256i * mem_addr, __m256i a) MOVDQA m256, ymm |
StoreAligned(UInt64*, Vector256<UInt64>) |
void _mm256_store_si256 (__m256i * mem_addr, __m256i a) MOVDQA m256, ymm |
StoreAlignedNonTemporal(Byte*, Vector256<Byte>) |
void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) VMOVNTDQ m256, ymm |
StoreAlignedNonTemporal(Double*, Vector256<Double>) |
void _mm256_stream_pd (double * mem_addr, __m256d a) MOVNTPD m256, ymm |
StoreAlignedNonTemporal(Int16*, Vector256<Int16>) |
void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) VMOVNTDQ m256, ymm |
StoreAlignedNonTemporal(Int32*, Vector256<Int32>) |
void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) VMOVNTDQ m256, ymm |
StoreAlignedNonTemporal(Int64*, Vector256<Int64>) |
void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) VMOVNTDQ m256, ymm |
StoreAlignedNonTemporal(SByte*, Vector256<SByte>) |
void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) VMOVNTDQ m256, ymm |
StoreAlignedNonTemporal(Single*, Vector256<Single>) |
void _mm256_stream_ps (float * mem_addr, __m256 a) MOVNTPS m256, ymm |
StoreAlignedNonTemporal(UInt16*, Vector256<UInt16>) |
void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) VMOVNTDQ m256, ymm |
StoreAlignedNonTemporal(UInt32*, Vector256<UInt32>) |
void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) VMOVNTDQ m256, ymm |
StoreAlignedNonTemporal(UInt64*, Vector256<UInt64>) |
void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) VMOVNTDQ m256, ymm |
Subtract(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_sub_pd (__m256d a, __m256d b) VSUBPD ymm, ymm, ymm/m256 |
Subtract(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_sub_ps (__m256 a, __m256 b) VSUBPS ymm, ymm, ymm/m256 |
TestC(Vector128<Double>, Vector128<Double>) |
int _mm_testc_pd (__m128d a, __m128d b) VTESTPD xmm, xmm/m128 |
TestC(Vector128<Single>, Vector128<Single>) |
int _mm_testc_ps (__m128 a, __m128 b) VTESTPS xmm, xmm/m128 |
TestC(Vector256<Byte>, Vector256<Byte>) |
int _mm256_testc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestC(Vector256<Double>, Vector256<Double>) |
int _mm256_testc_pd (__m256d a, __m256d b) VTESTPS ymm, ymm/m256 |
TestC(Vector256<Int16>, Vector256<Int16>) |
int _mm256_testc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestC(Vector256<Int32>, Vector256<Int32>) |
int _mm256_testc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestC(Vector256<Int64>, Vector256<Int64>) |
int _mm256_testc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestC(Vector256<SByte>, Vector256<SByte>) |
int _mm256_testc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestC(Vector256<Single>, Vector256<Single>) |
int _mm256_testc_ps (__m256 a, __m256 b) VTESTPS ymm, ymm/m256 |
TestC(Vector256<UInt16>, Vector256<UInt16>) |
int _mm256_testc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestC(Vector256<UInt32>, Vector256<UInt32>) |
int _mm256_testc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestC(Vector256<UInt64>, Vector256<UInt64>) |
int _mm256_testc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestNotZAndNotC(Vector128<Double>, Vector128<Double>) |
int _mm_testnzc_pd (__m128d a, __m128d b) VTESTPD xmm, xmm/m128 |
TestNotZAndNotC(Vector128<Single>, Vector128<Single>) |
int _mm_testnzc_ps (__m128 a, __m128 b) VTESTPS xmm, xmm/m128 |
TestNotZAndNotC(Vector256<Byte>, Vector256<Byte>) |
int _mm256_testnzc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestNotZAndNotC(Vector256<Double>, Vector256<Double>) |
int _mm256_testnzc_pd (__m256d a, __m256d b) VTESTPD ymm, ymm/m256 |
TestNotZAndNotC(Vector256<Int16>, Vector256<Int16>) |
int _mm256_testnzc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestNotZAndNotC(Vector256<Int32>, Vector256<Int32>) |
int _mm256_testnzc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestNotZAndNotC(Vector256<Int64>, Vector256<Int64>) |
int _mm256_testnzc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestNotZAndNotC(Vector256<SByte>, Vector256<SByte>) |
int _mm256_testnzc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestNotZAndNotC(Vector256<Single>, Vector256<Single>) |
int _mm256_testnzc_ps (__m256 a, __m256 b) VTESTPS ymm, ymm/m256 |
TestNotZAndNotC(Vector256<UInt16>, Vector256<UInt16>) |
int _mm256_testnzc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestNotZAndNotC(Vector256<UInt32>, Vector256<UInt32>) |
int _mm256_testnzc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestNotZAndNotC(Vector256<UInt64>, Vector256<UInt64>) |
int _mm256_testnzc_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestZ(Vector128<Double>, Vector128<Double>) |
int _mm_testz_pd (__m128d a, __m128d b) VTESTPD xmm, xmm/m128 |
TestZ(Vector128<Single>, Vector128<Single>) |
int _mm_testz_ps (__m128 a, __m128 b) VTESTPS xmm, xmm/m128 |
TestZ(Vector256<Byte>, Vector256<Byte>) |
int _mm256_testz_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestZ(Vector256<Double>, Vector256<Double>) |
int _mm256_testz_pd (__m256d a, __m256d b) VTESTPD ymm, ymm/m256 |
TestZ(Vector256<Int16>, Vector256<Int16>) |
int _mm256_testz_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestZ(Vector256<Int32>, Vector256<Int32>) |
int _mm256_testz_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestZ(Vector256<Int64>, Vector256<Int64>) |
int _mm256_testz_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestZ(Vector256<SByte>, Vector256<SByte>) |
int _mm256_testz_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestZ(Vector256<Single>, Vector256<Single>) |
int _mm256_testz_ps (__m256 a, __m256 b) VTESTPS ymm, ymm/m256 |
TestZ(Vector256<UInt16>, Vector256<UInt16>) |
int _mm256_testz_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestZ(Vector256<UInt32>, Vector256<UInt32>) |
int _mm256_testz_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
TestZ(Vector256<UInt64>, Vector256<UInt64>) |
int _mm256_testz_si256 (__m256i a, __m256i b) VPTEST ymm, ymm/m256 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
UnpackHigh(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_unpackhi_pd (__m256d a, __m256d b) VUNPCKHPD ymm, ymm, ymm/m256 |
UnpackHigh(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_unpackhi_ps (__m256 a, __m256 b) VUNPCKHPS ymm, ymm, ymm/m256 |
UnpackLow(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_unpacklo_pd (__m256d a, __m256d b) VUNPCKLPD ymm, ymm, ymm/m256 |
UnpackLow(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_unpacklo_ps (__m256 a, __m256 b) VUNPCKLPS ymm, ymm, ymm/m256 |
Xor(Vector256<Double>, Vector256<Double>) |
__m256d _mm256_xor_pd (__m256d a, __m256d b) VXORPS ymm, ymm, ymm/m256 |
Xor(Vector256<Single>, Vector256<Single>) |
__m256 _mm256_xor_ps (__m256 a, __m256 b) VXORPS ymm, ymm, ymm/m256 |