Class X86.Avx
Syntax
Properties
IsAvxSupported
Evaluates to true at compile time if AVX intrinsics are supported.
Declaration
public static bool IsAvxSupported { get; }
Property Value
Methods
broadcast_ss(Void*)
Broadcast a single-precision (32-bit) floating-point element from memory to all elements of dst.
Declaration
public static v128 broadcast_ss(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
cmp_pd(v128, v128, Int32)
Compare packed double-precision (64-bit) floating-point elements in a and b based on the comparison operand specified by imm8, and store the results in dst.
Declaration
public static v128 cmp_pd(v128 a, v128 b, int imm8)
Parameters
Returns
cmp_ps(v128, v128, Int32)
Compare packed single-precision (32-bit) floating-point elements in a and b based on the comparison operand specified by imm8, and store the results in dst.
Declaration
public static v128 cmp_ps(v128 a, v128 b, int imm8)
Parameters
Returns
cmp_sd(v128, v128, Int32)
Compare the lower double-precision (64-bit) floating-point
element in a and b based on the comparison operand specified by
imm8, store the result in the lower element of dst, and copy
the upper element from a to the upper element of dst.
Declaration
public static v128 cmp_sd(v128 a, v128 b, int imm8)
Parameters
Returns
cmp_ss(v128, v128, Int32)
Compare the lower single-precision (32-bit) floating-point
element in a and b based on the comparison operand specified by
imm8, store the result in the lower element of dst, and copy
the upper 3 packed elements from a to the upper elements of
dst.
Declaration
public static v128 cmp_ss(v128 a, v128 b, int imm8)
Parameters
Returns
maskload_pd(Void*, v128)
Load packed double-precision (64-bit) floating-point elements
from memory into dst using mask (elements are zeroed out when
the high bit of the corresponding element is not set).
Declaration
public static v128 maskload_pd(void *mem_addr, v128 mask)
Parameters
Type |
Name |
Description |
Void* |
mem_addr |
|
v128 |
mask |
|
Returns
maskload_ps(Void*, v128)
Load packed single-precision (32-bit) floating-point elements
from memory into dst using mask (elements are zeroed out when
the high bit of the corresponding element is not set).
Declaration
public static v128 maskload_ps(void *mem_addr, v128 mask)
Parameters
Type |
Name |
Description |
Void* |
mem_addr |
|
v128 |
mask |
|
Returns
maskstore_pd(Void*, v128, v128)
Store packed double-precision (64-bit) floating-point elements from a into memory using mask.
Declaration
public static void maskstore_pd(void *mem_addr, v128 mask, v128 a)
Parameters
maskstore_ps(Void*, v128, v128)
Store packed single-precision (32-bit) floating-point elements from a into memory using mask.
Declaration
public static void maskstore_ps(void *mem_addr, v128 mask, v128 a)
Parameters
mm256_add_pd(v256, v256)
Add packed double-precision (64-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_add_pd(v256 a, v256 b)
Parameters
Returns
mm256_add_ps(v256, v256)
Add packed single-precision (32-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_add_ps(v256 a, v256 b)
Parameters
Returns
mm256_addsub_pd(v256, v256)
Alternatively add and subtract packed double-precision (64-bit) floating-point elements in a to/from packed elements in b, and store the results in dst.
Declaration
public static v256 mm256_addsub_pd(v256 a, v256 b)
Parameters
Returns
mm256_addsub_ps(v256, v256)
Alternatively add and subtract packed single-precision (32-bit) floating-point elements in a to/from packed elements in b, and store the results in dst.
Declaration
public static v256 mm256_addsub_ps(v256 a, v256 b)
Parameters
Returns
mm256_and_pd(v256, v256)
Compute the bitwise AND of packed double-precision (64-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_and_pd(v256 a, v256 b)
Parameters
Returns
mm256_and_ps(v256, v256)
Compute the bitwise AND of packed single-precision (32-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_and_ps(v256 a, v256 b)
Parameters
Returns
mm256_andnot_pd(v256, v256)
Compute the bitwise NOT of packed double-precision (64-bit) floating-point elements in a and then AND with b, and store the results in dst.
Declaration
public static v256 mm256_andnot_pd(v256 a, v256 b)
Parameters
Returns
mm256_andnot_ps(v256, v256)
Compute the bitwise NOT of packed single-precision (32-bit) floating-point elements in a and then AND with b, and store the results in dst.
Declaration
public static v256 mm256_andnot_ps(v256 a, v256 b)
Parameters
Returns
mm256_blend_pd(v256, v256, Int32)
Blend packed double-precision (64-bit) floating-point elements from a and b using control mask imm8, and store the results in dst.
Declaration
public static v256 mm256_blend_pd(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_blend_ps(v256, v256, Int32)
Blend packed single-precision (32-bit) floating-point elements from a and b using control mask imm8, and store the results in dst.
Declaration
public static v256 mm256_blend_ps(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_blendv_pd(v256, v256, v256)
Blend packed double-precision (64-bit) floating-point elements from a and b using mask, and store the results in dst.
Declaration
public static v256 mm256_blendv_pd(v256 a, v256 b, v256 mask)
Parameters
Returns
mm256_blendv_ps(v256, v256, v256)
Blend packed single-precision (32-bit) floating-point elements from a and b using mask, and store the results in dst.
Declaration
public static v256 mm256_blendv_ps(v256 a, v256 b, v256 mask)
Parameters
Returns
mm256_broadcast_pd(Void*)
Broadcast 128 bits from memory (composed of 2 packed double-precision (64-bit) floating-point elements) to all elements of dst.
Declaration
public static v256 mm256_broadcast_pd(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
Type |
Description |
v256 |
**** VBROADCASTF128 ymm1, v128
|
mm256_broadcast_ps(Void*)
Broadcast 128 bits from memory (composed of 4 packed single-precision (32-bit) floating-point elements) to all elements of dst.
Declaration
public static v256 mm256_broadcast_ps(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_broadcast_sd(Void*)
Broadcast a double-precision (64-bit) floating-point element from memory to all elements of dst.
Declaration
public static v256 mm256_broadcast_sd(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_broadcast_ss(Void*)
Broadcast a single-precision (32-bit) floating-point element from memory to all elements of dst.
Declaration
public static v256 mm256_broadcast_ss(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_castpd_ps(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castpd_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_castpd_si256(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castpd_si256(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_castpd128_pd256(v128)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castpd128_pd256(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
mm256_castpd256_pd128(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v128 mm256_castpd256_pd128(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_castps_pd(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castps_pd(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_castps_si256(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castps_si256(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_castps128_ps256(v128)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castps128_ps256(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
mm256_castps256_ps128(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v128 mm256_castps256_ps128(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_castsi128_si256(v128)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castsi128_si256(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
mm256_castsi256_pd(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castsi256_pd(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_castsi256_ps(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v256 mm256_castsi256_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_castsi256_si128(v256)
For compatibility with C++ code only. This is a no-op in Burst.
Declaration
public static v128 mm256_castsi256_si128(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_ceil_pd(v256)
Round the packed double-precision (64-bit) floating-point
elements in a up to an integer value, and store the results as
packed double-precision floating-point elements in dst.
Declaration
public static v256 mm256_ceil_pd(v256 val)
Parameters
Type |
Name |
Description |
v256 |
val |
|
Returns
mm256_ceil_ps(v256)
Round the packed single-precision (32-bit) floating-point
elements in a up to an integer value, and store the results as
packed single-precision floating-point elements in dst.
Declaration
public static v256 mm256_ceil_ps(v256 val)
Parameters
Type |
Name |
Description |
v256 |
val |
|
Returns
mm256_cmp_pd(v256, v256, Int32)
Compare packed double-precision (64-bit) floating-point elements in a and b based on the comparison operand specified by imm8, and store the results in dst.
Declaration
public static v256 mm256_cmp_pd(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_cmp_ps(v256, v256, Int32)
Compare packed single-precision (32-bit) floating-point elements in a and b based on the comparison operand specified by imm8, and store the results in dst.
Declaration
public static v256 mm256_cmp_ps(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_cvtepi32_pd(v128)
Convert packed 32-bit integers in a to packed double-precision (64-bit) floating-point elements, and store the results in dst.
Declaration
public static v256 mm256_cvtepi32_pd(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
mm256_cvtepi32_ps(v256)
Convert packed 32-bit integers in a to packed single-precision (32-bit) floating-point elements, and store the results in dst.
Declaration
public static v256 mm256_cvtepi32_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_cvtpd_epi32(v256)
Convert packed double-precision(64-bit) floating-point elements
in a to packed 32-bit integers, and store the results in dst.
Declaration
public static v128 mm256_cvtpd_epi32(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_cvtpd_ps(v256)
Convert packed double-precision (64-bit) floating-point
elements in a to packed single-precision (32-bit)
floating-point elements, and store the results in dst.
Declaration
public static v128 mm256_cvtpd_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_cvtps_epi32(v256)
Convert packed single-precision (32-bit) floating-point
elements in a to packed 32-bit integers, and store the results
in dst.
Declaration
public static v256 mm256_cvtps_epi32(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_cvtps_pd(v128)
Convert packed single-precision (32-bit) floating-point
elements in a to packed double-precision (64-bit)
floating-point elements, and store the results in dst.
Declaration
public static v256 mm256_cvtps_pd(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
mm256_cvtss_f32(v256)
Copy the lower single-precision (32-bit) floating-point element of a to dst.
Declaration
public static float mm256_cvtss_f32(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_cvttpd_epi32(v256)
Convert packed double-precision (64-bit) floating-point
elements in a to packed 32-bit integers with truncation, and
store the results in dst.
Declaration
public static v128 mm256_cvttpd_epi32(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_cvttps_epi32(v256)
Convert packed single-precision (32-bit) floating-point
elements in a to packed 32-bit integers with truncation, and
store the results in dst.
Declaration
public static v256 mm256_cvttps_epi32(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_div_pd(v256, v256)
Divide packed double-precision (64-bit) floating-point elements in a by packed elements in b, and store the results in dst.
Declaration
public static v256 mm256_div_pd(v256 a, v256 b)
Parameters
Returns
mm256_div_ps(v256, v256)
Divide packed single-precision (32-bit) floating-point elements in a by packed elements in b, and store the results in dst.
Declaration
public static v256 mm256_div_ps(v256 a, v256 b)
Parameters
Returns
mm256_dp_ps(v256, v256, Int32)
Conditionally multiply the packed single-precision (32-bit)
floating-point elements in a and b using the high 4 bits in
imm8, sum the four products, and conditionally store the sum in
dst using the low 4 bits of imm8.
Declaration
public static v256 mm256_dp_ps(v256 a, v256 b, int imm8)
Parameters
Returns
Extract a 32-bit integer from a, selected with index (which must be a constant), and store the result in dst.
Declaration
public static int mm256_extract_epi32(v256 a, int index)
Parameters
Returns
Extract a 64-bit integer from a, selected with index (which must be a constant), and store the result in dst.
Declaration
public static long mm256_extract_epi64(v256 a, int index)
Parameters
Returns
Extract 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from a, selected with imm8, and store the result in dst.
Declaration
public static v128 mm256_extractf128_pd(v256 a, int imm8)
Parameters
Returns
Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from a, selected with imm8, and store the result in dst.
Declaration
public static v128 mm256_extractf128_ps(v256 a, int imm8)
Parameters
Returns
Extract 128 bits (composed of integer data) from a, selected with imm8, and store the result in dst.
Declaration
public static v128 mm256_extractf128_si256(v256 a, int imm8)
Parameters
Returns
mm256_floor_pd(v256)
Round the packed double-precision (64-bit) floating-point
elements in a down to an integer value, and store the results
as packed double-precision floating-point elements in dst.
Declaration
public static v256 mm256_floor_pd(v256 val)
Parameters
Type |
Name |
Description |
v256 |
val |
|
Returns
mm256_floor_ps(v256)
Round the packed single-precision (32-bit) floating-point
elements in a down to an integer value, and store the results
as packed single-precision floating-point elements in dst.
Declaration
public static v256 mm256_floor_ps(v256 val)
Parameters
Type |
Name |
Description |
v256 |
val |
|
Returns
mm256_hadd_pd(v256, v256)
Horizontally add adjacent pairs of double-precision (64-bit) floating-point elements in a and b, and pack the results in dst.
Declaration
public static v256 mm256_hadd_pd(v256 a, v256 b)
Parameters
Returns
mm256_hadd_ps(v256, v256)
Horizontally add adjacent pairs of single-precision (32-bit) floating-point elements in a and b, and pack the results in dst.
Declaration
public static v256 mm256_hadd_ps(v256 a, v256 b)
Parameters
Returns
mm256_hsub_pd(v256, v256)
Horizontally subtract adjacent pairs of double-precision (64-bit) floating-point elements in a and b, and pack the results in dst.
Declaration
public static v256 mm256_hsub_pd(v256 a, v256 b)
Parameters
Returns
mm256_hsub_ps(v256, v256)
Horizontally add adjacent pairs of single-precision (32-bit) floating-point elements in a and b, and pack the results in dst.
Declaration
public static v256 mm256_hsub_ps(v256 a, v256 b)
Parameters
Returns
mm256_insert_epi16(v256, Int32, Int32)
Copy a to dst, and insert the 16-bit integer i into dst at the location specified by index (which must be a constant).
Declaration
public static v256 mm256_insert_epi16(v256 a, int i, int index)
Parameters
Returns
mm256_insert_epi32(v256, Int32, Int32)
Copy a to dst, and insert the 32-bit integer i into dst at the location specified by index (which must be a constant).
Declaration
public static v256 mm256_insert_epi32(v256 a, int i, int index)
Parameters
Returns
mm256_insert_epi64(v256, Int64, Int32)
Copy a to dst, and insert the 64-bit integer i into dst at the location specified by index (which must be a constant).
Declaration
public static v256 mm256_insert_epi64(v256 a, long i, int index)
Parameters
Returns
mm256_insert_epi8(v256, Int32, Int32)
Copy a to dst, and insert the 8-bit integer i into dst at the location specified by index (which must be a constant).
Declaration
public static v256 mm256_insert_epi8(v256 a, int i, int index)
Parameters
Returns
mm256_insertf128_pd(v256, v128, Int32)
Copy a to dst, then insert 128 bits (composed of 2 packed double-precision (64-bit) floating-point elements) from b into dst at the location specified by imm8.
Declaration
public static v256 mm256_insertf128_pd(v256 a, v128 b, int imm8)
Parameters
Returns
mm256_insertf128_ps(v256, v128, Int32)
Copy a to dst, then insert 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from b into dst at the location specified by imm8.
Declaration
public static v256 mm256_insertf128_ps(v256 a, v128 b, int imm8)
Parameters
Returns
mm256_insertf128_si256(v256, v128, Int32)
Copy a to dst, then insert 128 bits of integer data from b into dst at the location specified by imm8.
Declaration
public static v256 mm256_insertf128_si256(v256 a, v128 b, int imm8)
Parameters
Returns
mm256_lddqu_si256(Void*)
Load 256-bits of integer data from unaligned memory into dst.
This intrinsic may perform better than mm256_loadu_si256 when
the data crosses a cache line boundary.
Declaration
public static v256 mm256_lddqu_si256(void *mem_addr)
Parameters
Type |
Name |
Description |
Void* |
mem_addr |
|
Returns
mm256_load_pd(Void*)
Load 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from memory
Declaration
public static v256 mm256_load_pd(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_load_ps(Void*)
Load 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from memory
Declaration
public static v256 mm256_load_ps(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_load_si256(Void*)
Load 256-bits (composed of 8 packed 32-bit integers elements) from memory
Declaration
public static v256 mm256_load_si256(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_loadu_pd(Void*)
Load 256-bits (composed of 4 packed double-precision (64-bit) floating-point elements) from memory
Declaration
public static v256 mm256_loadu_pd(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_loadu_ps(Void*)
Load 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from memory
Declaration
public static v256 mm256_loadu_ps(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_loadu_si256(Void*)
Load 256-bits (composed of 8 packed 32-bit integers elements) from memory
Declaration
public static v256 mm256_loadu_si256(void *ptr)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
Returns
mm256_loadu2_m128(Void*, Void*)
Load two 128-bit values (composed of 4 packed single-precision
(32-bit) floating-point elements) from memory, and combine them
into a 256-bit value in dst. hiaddr and loaddr do not need to
be aligned on any particular boundary.
Declaration
public static v256 mm256_loadu2_m128(void *hiaddr, void *loaddr)
Parameters
Type |
Name |
Description |
Void* |
hiaddr |
|
Void* |
loaddr |
|
Returns
mm256_loadu2_m128d(Void*, Void*)
Load two 128-bit values (composed of 2 packed double-precision
(64-bit) floating-point elements) from memory, and combine them
into a 256-bit value in dst. hiaddr and loaddr do not need to
be aligned on any particular boundary.
Declaration
public static v256 mm256_loadu2_m128d(void *hiaddr, void *loaddr)
Parameters
Type |
Name |
Description |
Void* |
hiaddr |
|
Void* |
loaddr |
|
Returns
mm256_loadu2_m128i(Void*, Void*)
Load two 128-bit values (composed of integer data) from memory,
and combine them into a 256-bit value in dst. hiaddr and loaddr
do not need to be aligned on any particular boundary.
Declaration
public static v256 mm256_loadu2_m128i(void *hiaddr, void *loaddr)
Parameters
Type |
Name |
Description |
Void* |
hiaddr |
|
Void* |
loaddr |
|
Returns
mm256_maskload_pd(Void*, v256)
Load packed double-precision (64-bit) floating-point elements
from memory into dst using mask (elements are zeroed out when
the high bit of the corresponding element is not set).
Declaration
public static v256 mm256_maskload_pd(void *mem_addr, v256 mask)
Parameters
Type |
Name |
Description |
Void* |
mem_addr |
|
v256 |
mask |
|
Returns
mm256_maskload_ps(Void*, v256)
Load packed single-precision (32-bit) floating-point elements
from memory into dst using mask (elements are zeroed out when
the high bit of the corresponding element is not set).
Declaration
public static v256 mm256_maskload_ps(void *mem_addr, v256 mask)
Parameters
Type |
Name |
Description |
Void* |
mem_addr |
|
v256 |
mask |
|
Returns
mm256_maskstore_pd(Void*, v256, v256)
Store packed double-precision (64-bit) floating-point elements from a into memory using mask.
Declaration
public static void mm256_maskstore_pd(void *mem_addr, v256 mask, v256 a)
Parameters
mm256_maskstore_ps(Void*, v256, v256)
Store packed single-precision (32-bit) floating-point elements from a into memory using mask.
Declaration
public static void mm256_maskstore_ps(void *mem_addr, v256 mask, v256 a)
Parameters
mm256_max_pd(v256, v256)
Compare packed double-precision (64-bit) floating-point elements in a and b, and store packed maximum values in dst.
Declaration
public static v256 mm256_max_pd(v256 a, v256 b)
Parameters
Returns
mm256_max_ps(v256, v256)
Compare packed single-precision (32-bit) floating-point elements in a and b, and store packed maximum values in dst.
Declaration
public static v256 mm256_max_ps(v256 a, v256 b)
Parameters
Returns
mm256_min_pd(v256, v256)
Compare packed double-precision (64-bit) floating-point elements in a and b, and store packed minimum values in dst.
Declaration
public static v256 mm256_min_pd(v256 a, v256 b)
Parameters
Returns
mm256_min_ps(v256, v256)
Compare packed single-precision (32-bit) floating-point elements in a and b, and store packed minimum values in dst.
Declaration
public static v256 mm256_min_ps(v256 a, v256 b)
Parameters
Returns
mm256_movedup_pd(v256)
Duplicate even-indexed double-precision (64-bit) floating-point elements from a, and store the results in dst.
Declaration
public static v256 mm256_movedup_pd(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_movehdup_ps(v256)
Duplicate odd-indexed single-precision (32-bit) floating-point elements from a, and store the results in dst.
Declaration
public static v256 mm256_movehdup_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_moveldup_ps(v256)
Duplicate even-indexed single-precision (32-bit) floating-point elements from a, and store the results in dst.
Declaration
public static v256 mm256_moveldup_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_movemask_pd(v256)
Set each bit of mask dst based on the most significant bit of the corresponding packed double-precision (64-bit) floating-point element in a.
Declaration
public static int mm256_movemask_pd(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_movemask_ps(v256)
Set each bit of mask dst based on the most significant bit of the corresponding packed single-precision (32-bit) floating-point element in a.
Declaration
public static int mm256_movemask_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_mul_pd(v256, v256)
Multiply packed double-precision (64-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_mul_pd(v256 a, v256 b)
Parameters
Returns
mm256_mul_ps(v256, v256)
Multiply packed single-precision (32-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_mul_ps(v256 a, v256 b)
Parameters
Returns
mm256_or_pd(v256, v256)
Compute the bitwise OR of packed double-precision (64-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_or_pd(v256 a, v256 b)
Parameters
Returns
mm256_or_ps(v256, v256)
Compute the bitwise OR of packed single-precision (32-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_or_ps(v256 a, v256 b)
Parameters
Returns
mm256_permute_pd(v256, Int32)
Shuffle double-precision (64-bit) floating-point elements in a within 128-bit lanes using the control in imm8, and store the results in dst.
Declaration
public static v256 mm256_permute_pd(v256 a, int imm8)
Parameters
Returns
mm256_permute_ps(v256, Int32)
Shuffle single-precision (32-bit) floating-point elements in a
within 128-bit lanes using the control in imm8, and store the
results in dst.
Declaration
public static v256 mm256_permute_ps(v256 a, int imm8)
Parameters
Returns
mm256_permute2f128_pd(v256, v256, Int32)
Shuffle 128-bits (composed of 2 packed double-precision (64-bit) floating-point elements) selected by imm8 from a and b, and store the results in dst.
Declaration
public static v256 mm256_permute2f128_pd(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_permute2f128_ps(v256, v256, Int32)
Shuffle 128-bits (composed of 4 packed single-precision (32-bit) floating-point elements) selected by imm8 from a and b, and store the results in dst.
Declaration
public static v256 mm256_permute2f128_ps(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_permute2f128_si256(v256, v256, Int32)
Shuffle 128-bits (composed of integer data) selected by imm8 from a and b, and store the results in dst.
Declaration
public static v256 mm256_permute2f128_si256(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_permutevar_pd(v256, v256)
Shuffle double-precision (64-bit) floating-point elements in a within 128-bit lanes using the control in b, and store the results in dst.
Declaration
public static v256 mm256_permutevar_pd(v256 a, v256 b)
Parameters
Returns
mm256_permutevar_ps(v256, v256)
Shuffle single-precision (32-bit) floating-point elements in a within 128-bit lanes using the control in b, and store the results in dst.
Declaration
public static v256 mm256_permutevar_ps(v256 a, v256 b)
Parameters
Returns
mm256_rcp_ps(v256)
Compute the approximate reciprocal of packed single-precision
(32-bit) floating-point elements in a, and store the results in
dst. The maximum relative error for this approximation is less
than 1.5*2^-12.
Declaration
public static v256 mm256_rcp_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_round_pd(v256, Int32)
Round the packed double-precision (64-bit) floating-point
elements in a using the rounding parameter, and store the
results as packed double-precision floating-point elements in
dst.
Declaration
public static v256 mm256_round_pd(v256 a, int rounding)
Parameters
Returns
mm256_round_ps(v256, Int32)
Round the packed single-precision (32-bit) floating-point
elements in a using the rounding parameter, and store the
results as packed single-precision floating-point elements in
dst.
Declaration
public static v256 mm256_round_ps(v256 a, int rounding)
Parameters
Returns
mm256_rsqrt_ps(v256)
Compute the approximate reciprocal square root of packed
single-precision (32-bit) floating-point elements in a, and
store the results in dst. The maximum relative error for this
approximation is less than 1.5*2^-12.
Declaration
public static v256 mm256_rsqrt_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_set_epi16(Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16)
Set packed short elements in dst with the supplied values.
Declaration
public static v256 mm256_set_epi16(short e15_, short e14_, short e13_, short e12_, short e11_, short e10_, short e9_, short e8_, short e7_, short e6_, short e5_, short e4_, short e3_, short e2_, short e1_, short e0_)
Parameters
Returns
mm256_set_epi32(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)
Set packed int elements in dst with the supplied values.
Declaration
public static v256 mm256_set_epi32(int e7, int e6, int e5, int e4, int e3, int e2, int e1, int e0)
Parameters
Returns
mm256_set_epi64x(Int64, Int64, Int64, Int64)
Set packed 64-bit integers in dst with the supplied values.
Declaration
public static v256 mm256_set_epi64x(long e3, long e2, long e1, long e0)
Parameters
Returns
mm256_set_epi8(Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)
Set packed byte elements in dst with the supplied values.
Declaration
public static v256 mm256_set_epi8(byte e31_, byte e30_, byte e29_, byte e28_, byte e27_, byte e26_, byte e25_, byte e24_, byte e23_, byte e22_, byte e21_, byte e20_, byte e19_, byte e18_, byte e17_, byte e16_, byte e15_, byte e14_, byte e13_, byte e12_, byte e11_, byte e10_, byte e9_, byte e8_, byte e7_, byte e6_, byte e5_, byte e4_, byte e3_, byte e2_, byte e1_, byte e0_)
Parameters
Returns
mm256_set_m128(v128, v128)
Declaration
public static v256 mm256_set_m128(v128 hi, v128 lo)
Parameters
Returns
mm256_set_m128d(v128, v128)
Set packed v256 vector with the supplied values.
Declaration
public static v256 mm256_set_m128d(v128 hi, v128 lo)
Parameters
Returns
mm256_set_m128i(v128, v128)
Set packed v256 vector with the supplied values.
Declaration
public static v256 mm256_set_m128i(v128 hi, v128 lo)
Parameters
Returns
mm256_set_pd(Double, Double, Double, Double)
Set packed double-precision (64-bit) floating-point elements in dst with the supplied values.
Declaration
public static v256 mm256_set_pd(double d, double c, double b, double a)
Parameters
Returns
mm256_set_ps(Single, Single, Single, Single, Single, Single, Single, Single)
Set packed single-precision (32-bit) floating-point elements in dst with the supplied values.
Declaration
public static v256 mm256_set_ps(float e7, float e6, float e5, float e4, float e3, float e2, float e1, float e0)
Parameters
Returns
mm256_set1_epi16(Int16)
Broadcast 16-bit integer a to all all elements of dst. This intrinsic may generate the vpbroadcastw instruction.
Declaration
public static v256 mm256_set1_epi16(short a)
Parameters
Type |
Name |
Description |
Int16 |
a |
|
Returns
mm256_set1_epi32(Int32)
Broadcast 32-bit integer a to all elements of dst. This intrinsic may generate the vpbroadcastd instruction.
Declaration
public static v256 mm256_set1_epi32(int a)
Parameters
Type |
Name |
Description |
Int32 |
a |
|
Returns
mm256_set1_epi64x(Int64)
Broadcast 64-bit integer a to all elements of dst. This intrinsic may generate the vpbroadcastq instruction.
Declaration
public static v256 mm256_set1_epi64x(long a)
Parameters
Type |
Name |
Description |
Int64 |
a |
|
Returns
mm256_set1_epi8(Char)
Broadcast 8-bit integer a to all elements of dst. This intrinsic may generate the vpbroadcastb instruction.
Declaration
public static v256 mm256_set1_epi8(char a)
Parameters
Type |
Name |
Description |
Char |
a |
|
Returns
mm256_set1_pd(Double)
Broadcast double-precision (64-bit) floating-point value a to all elements of dst.
Declaration
public static v256 mm256_set1_pd(double a)
Parameters
Type |
Name |
Description |
Double |
a |
|
Returns
mm256_set1_ps(Single)
Broadcast single-precision (32-bit) floating-point value a to all elements of dst.
Declaration
public static v256 mm256_set1_ps(float a)
Parameters
Type |
Name |
Description |
Single |
a |
|
Returns
mm256_setr_epi16(Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16)
Set packed short elements in dst with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_epi16(short e15_, short e14_, short e13_, short e12_, short e11_, short e10_, short e9_, short e8_, short e7_, short e6_, short e5_, short e4_, short e3_, short e2_, short e1_, short e0_)
Parameters
Returns
mm256_setr_epi32(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)
Set packed int elements in dst with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_epi32(int e7, int e6, int e5, int e4, int e3, int e2, int e1, int e0)
Parameters
Returns
mm256_setr_epi64x(Int64, Int64, Int64, Int64)
Set packed 64-bit integers in dst with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_epi64x(long e3, long e2, long e1, long e0)
Parameters
Returns
mm256_setr_epi8(Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)
Set packed byte elements in dst with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_epi8(byte e31_, byte e30_, byte e29_, byte e28_, byte e27_, byte e26_, byte e25_, byte e24_, byte e23_, byte e22_, byte e21_, byte e20_, byte e19_, byte e18_, byte e17_, byte e16_, byte e15_, byte e14_, byte e13_, byte e12_, byte e11_, byte e10_, byte e9_, byte e8_, byte e7_, byte e6_, byte e5_, byte e4_, byte e3_, byte e2_, byte e1_, byte e0_)
Parameters
Returns
mm256_setr_m128(v128, v128)
Set packed v256 vector with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_m128(v128 hi, v128 lo)
Parameters
Returns
mm256_setr_m128d(v128, v128)
Set packed v256 vector with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_m128d(v128 hi, v128 lo)
Parameters
Returns
mm256_setr_m128i(v128, v128)
Set packed v256 vector with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_m128i(v128 hi, v128 lo)
Parameters
Returns
mm256_setr_pd(Double, Double, Double, Double)
Set packed double-precision (64-bit) floating-point elements in dst with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_pd(double d, double c, double b, double a)
Parameters
Returns
mm256_setr_ps(Single, Single, Single, Single, Single, Single, Single, Single)
Set packed single-precision (32-bit) floating-point elements in dst with the supplied values in reverse order.
Declaration
public static v256 mm256_setr_ps(float e7, float e6, float e5, float e4, float e3, float e2, float e1, float e0)
Parameters
Returns
mm256_setzero_pd()
Return a vector with all elements set to zero.
Declaration
public static v256 mm256_setzero_pd()
Returns
mm256_setzero_ps()
Return a vector with all elements set to zero.
Declaration
public static v256 mm256_setzero_ps()
Returns
mm256_setzero_si256()
Return a vector with all elements set to zero.
Declaration
public static v256 mm256_setzero_si256()
Returns
mm256_shuffle_pd(v256, v256, Int32)
Shuffle double-precision (64-bit) floating-point elements within 128-bit lanes using the control in imm8, and store the results in dst.
Declaration
public static v256 mm256_shuffle_pd(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_shuffle_ps(v256, v256, Int32)
Shuffle single-precision (32-bit) floating-point elements in a within 128-bit lanes using the control in imm8, and store the results in dst.
Declaration
public static v256 mm256_shuffle_ps(v256 a, v256 b, int imm8)
Parameters
Returns
mm256_sqrt_pd(v256)
Compute the square root of packed double-precision (64-bit)
floating-point elements in a, and store the results in dst.
Declaration
public static v256 mm256_sqrt_pd(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_sqrt_ps(v256)
Compute the square root of packed single-precision (32-bit)
floating-point elements in a, and store the results in dst.
Declaration
public static v256 mm256_sqrt_ps(v256 a)
Parameters
Type |
Name |
Description |
v256 |
a |
|
Returns
mm256_store_pd(Void*, v256)
Store 256-bits (composed of 4 packed double-precision (64-bit) floating-point elements) from a into memory
Declaration
public static void mm256_store_pd(void *ptr, v256 a)
Parameters
mm256_store_ps(Void*, v256)
Store 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from a into memory
Declaration
public static void mm256_store_ps(void *ptr, v256 val)
Parameters
Type |
Name |
Description |
Void* |
ptr |
|
v256 |
val |
|
mm256_store_si256(Void*, v256)
Store 256-bits (composed of 8 packed 32-bit integer elements) from a into memory
Declaration
public static void mm256_store_si256(void *ptr, v256 v)
Parameters
mm256_storeu_pd(Void*, v256)
Store 256-bits (composed of 4 packed double-precision (64-bit) floating-point elements) from a into memory
Declaration
public static void mm256_storeu_pd(void *ptr, v256 a)
Parameters
mm256_storeu_ps(Void*, v256)
Store 256-bits (composed of 8 packed single-precision (32-bit) floating-point elements) from a into memory
Declaration
public static void mm256_storeu_ps(void *ptr, v256 a)
Parameters
mm256_storeu_si256(Void*, v256)
Store 256-bits (composed of 8 packed 32-bit integer elements) from a into memory
Declaration
public static void mm256_storeu_si256(void *ptr, v256 v)
Parameters
mm256_storeu2_m128(Void*, Void*, v256)
Store the high and low 128-bit halves (each composed of 4
packed single-precision (32-bit) floating-point elements) from
a into memory two different 128-bit locations. hiaddr and
loaddr do not need to be aligned on any particular boundary.
Declaration
public static void mm256_storeu2_m128(void *hiaddr, void *loaddr, v256 val)
Parameters
mm256_storeu2_m128d(Void*, Void*, v256)
Store the high and low 128-bit halves (each composed of 2
packed double-precision (64-bit) floating-point elements) from
a into memory two different 128-bit locations. hiaddr and
loaddr do not need to be aligned on any particular boundary.
Declaration
public static void mm256_storeu2_m128d(void *hiaddr, void *loaddr, v256 val)
Parameters
mm256_storeu2_m128i(Void*, Void*, v256)
Store the high and low 128-bit halves (each composed of integer
data) from a into memory two different 128-bit locations. hiaddr
and loaddr do not need to be aligned on any particular boundary.
Declaration
public static void mm256_storeu2_m128i(void *hiaddr, void *loaddr, v256 val)
Parameters
mm256_stream_pd(Void*, v256)
Store 256-bits (composed of 4 packed double-precision (64-bit)
floating-point elements) from a into memory using a
non-temporal memory hint. mem_addr must be aligned on a 32-byte
boundary or a general-protection exception may be generated.
Declaration
public static void mm256_stream_pd(void *mem_addr, v256 a)
Parameters
Type |
Name |
Description |
Void* |
mem_addr |
|
v256 |
a |
|
mm256_stream_ps(Void*, v256)
Store 256-bits (composed of 8 packed single-precision (32-bit)
floating-point elements) from a into memory using a
non-temporal memory hint. mem_addr must be aligned on a 32-byte
boundary or a general-protection exception may be generated.
Declaration
public static void mm256_stream_ps(void *mem_addr, v256 a)
Parameters
Type |
Name |
Description |
Void* |
mem_addr |
|
v256 |
a |
|
mm256_stream_si256(Void*, v256)
Store 256-bits of integer data from a into memory using a
non-temporal memory hint. mem_addr must be aligned on a 32-byte
boundary or a general-protection exception may be generated.
Declaration
public static void mm256_stream_si256(void *mem_addr, v256 a)
Parameters
Type |
Name |
Description |
Void* |
mem_addr |
|
v256 |
a |
|
mm256_sub_pd(v256, v256)
Subtract packed double-precision (64-bit) floating-point elements in b from packed double-precision (64-bit) floating-point elements in a, and store the results in dst.
Declaration
public static v256 mm256_sub_pd(v256 a, v256 b)
Parameters
Returns
mm256_sub_ps(v256, v256)
Subtract packed single-precision (32-bit) floating-point elements in b from packed single-precision (32-bit) floating-point elements in a, and store the results in dst.
Declaration
public static v256 mm256_sub_ps(v256 a, v256 b)
Parameters
Returns
mm256_testc_pd(v256, v256)
Compute the bitwise AND of 256 bits (representing
double-precision (64-bit) floating-point elements) in a and b,
producing an intermediate 256-bit value, and set ZF to 1 if the
sign bit of each 64-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 64-bit element in the intermediate
value is zero, otherwise set CF to 0. Return the CF value.
Declaration
public static int mm256_testc_pd(v256 a, v256 b)
Parameters
Returns
mm256_testc_ps(v256, v256)
Compute the bitwise AND of 256 bits (representing
single-precision (32-bit) floating-point elements) in a and b,
producing an intermediate 256-bit value, and set ZF to 1 if the
sign bit of each 32-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 32-bit element in the intermediate
value is zero, otherwise set CF to 0. Return the CF value.
Declaration
public static int mm256_testc_ps(v256 a, v256 b)
Parameters
Returns
mm256_testc_si256(v256, v256)
Compute the bitwise AND of 256 bits (representing integer data)
in a and b, and set ZF to 1 if the result is zero, otherwise
set ZF to 0. Compute the bitwise NOT of a and then AND with b,
and set CF to 1 if the result is zero, otherwise set CF to 0.
Return the CF value.
Declaration
public static int mm256_testc_si256(v256 a, v256 b)
Parameters
Returns
mm256_testnzc_pd(v256, v256)
Compute the bitwise AND of 256 bits (representing
double-precision (64-bit) floating-point elements) in a and b,
producing an intermediate 256-bit value, and set ZF to 1 if the
sign bit of each 64-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 64-bit element in the intermediate
value is zero, otherwise set CF to 0. Return 1 if both the ZF
and CF values are zero, otherwise return 0.
Declaration
public static int mm256_testnzc_pd(v256 a, v256 b)
Parameters
Returns
mm256_testnzc_ps(v256, v256)
Compute the bitwise AND of 256 bits (representing
single-precision (32-bit) floating-point elements) in a and b,
producing an intermediate 256-bit value, and set ZF to 1 if the
sign bit of each 32-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 32-bit element in the intermediate
value is zero, otherwise set CF to 0. Return 1 if both the ZF
and CF values are zero, otherwise return 0.
Declaration
public static int mm256_testnzc_ps(v256 a, v256 b)
Parameters
Returns
mm256_testnzc_si256(v256, v256)
Compute the bitwise AND of 256 bits (representing integer data)
in a and b, and set ZF to 1 if the result is zero, otherwise
set ZF to 0. Compute the bitwise NOT of a and then AND with b,
and set CF to 1 if the result is zero, otherwise set CF to 0.
Return 1 if both the ZF and CF values are zero, otherwise
return 0.
Declaration
public static int mm256_testnzc_si256(v256 a, v256 b)
Parameters
Returns
mm256_testz_pd(v256, v256)
Compute the bitwise AND of 256 bits (representing
double-precision (64-bit) floating-point elements) in a and b,
producing an intermediate 256-bit value, and set ZF to 1 if the
sign bit of each 64-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 64-bit element in the intermediate
value is zero, otherwise set CF to 0. Return the ZF value.
Declaration
public static int mm256_testz_pd(v256 a, v256 b)
Parameters
Returns
mm256_testz_ps(v256, v256)
Compute the bitwise AND of 256 bits (representing
single-precision (32-bit) floating-point elements) in a and b,
producing an intermediate 256-bit value, and set ZF to 1 if the
sign bit of each 32-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 32-bit element in the intermediate
value is zero, otherwise set CF to 0. Return the ZF value.
Declaration
public static int mm256_testz_ps(v256 a, v256 b)
Parameters
Returns
mm256_testz_si256(v256, v256)
Compute the bitwise AND of 256 bits (representing integer data)
in a and b, and set ZF to 1 if the result is zero, otherwise
set ZF to 0. Compute the bitwise NOT of a and then AND with b,
and set CF to 1 if the result is zero, otherwise set CF to 0.
Return the ZF value.
Declaration
public static int mm256_testz_si256(v256 a, v256 b)
Parameters
Returns
mm256_undefined_pd()
Return a 256-bit vector with undefined contents.
Declaration
public static v256 mm256_undefined_pd()
Returns
mm256_undefined_ps()
Return a 256-bit vector with undefined contents.
Declaration
public static v256 mm256_undefined_ps()
Returns
mm256_undefined_si256()
Return a 256-bit vector with undefined contents.
Declaration
public static v256 mm256_undefined_si256()
Returns
mm256_unpackhi_pd(v256, v256)
Unpack and interleave double-precision (64-bit) floating-point
elements from the high half of each 128-bit lane in a and b,
and store the results in dst.
Declaration
public static v256 mm256_unpackhi_pd(v256 a, v256 b)
Parameters
Returns
mm256_unpackhi_ps(v256, v256)
Unpack and interleave single-precision(32-bit) floating-point
elements from the high half of each 128-bit lane in a and b,
and store the results in dst.
Declaration
public static v256 mm256_unpackhi_ps(v256 a, v256 b)
Parameters
Returns
mm256_unpacklo_pd(v256, v256)
Unpack and interleave double-precision (64-bit) floating-point
elements from the low half of each 128-bit lane in a and b, and
store the results in dst.
Declaration
public static v256 mm256_unpacklo_pd(v256 a, v256 b)
Parameters
Returns
mm256_unpacklo_ps(v256, v256)
Unpack and interleave single-precision (32-bit) floating-point
elements from the low half of each 128-bit lane in a and b, and
store the results in dst.
Declaration
public static v256 mm256_unpacklo_ps(v256 a, v256 b)
Parameters
Returns
mm256_xor_pd(v256, v256)
Compute the bitwise XOR of packed double-precision (64-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_xor_pd(v256 a, v256 b)
Parameters
Returns
mm256_xor_ps(v256, v256)
Compute the bitwise XOR of packed single-precision (32-bit) floating-point elements in a and b, and store the results in dst.
Declaration
public static v256 mm256_xor_ps(v256 a, v256 b)
Parameters
Returns
mm256_zeroall()
Zeros the contents of all YMM registers
Declaration
public static void mm256_zeroall()
mm256_zeroupper()
Zero the upper 128 bits of all YMM registers; the lower 128-bits of the registers are unmodified.
Declaration
public static void mm256_zeroupper()
mm256_zextpd128_pd256(v128)
Casts vector of type v128 to type v256; the upper 128 bits of the result
are zeroed. This intrinsic is only used for compilation and does not
generate any instructions, thus it has zero latency.
Declaration
public static v256 mm256_zextpd128_pd256(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
mm256_zextps128_ps256(v128)
Casts vector of type v128 to type v256; the upper 128 bits of the result
are zeroed. This intrinsic is only used for compilation and does not
generate any instructions, thus it has zero latency.
Declaration
public static v256 mm256_zextps128_ps256(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
mm256_zextsi128_si256(v128)
Casts vector of type v128 to type v256; the upper 128 bits of the result
are zeroed. This intrinsic is only used for compilation and does not
generate any instructions, thus it has zero latency.
Declaration
public static v256 mm256_zextsi128_si256(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
permute_pd(v128, Int32)
Shuffle double-precision (64-bit) floating-point elements in a using the control in imm8, and store the results in dst.
Declaration
public static v128 permute_pd(v128 a, int imm8)
Parameters
Returns
permute_ps(v128, Int32)
Shuffle single-precision (32-bit) floating-point elements in a using the control in imm8, and store the results in dst.
Declaration
public static v128 permute_ps(v128 a, int imm8)
Parameters
Returns
permutevar_pd(v128, v128)
Shuffle double-precision (64-bit) floating-point elements in a using the control in b, and store the results in dst.
Declaration
public static v128 permutevar_pd(v128 a, v128 b)
Parameters
Returns
permutevar_ps(v128, v128)
Shuffle single-precision (32-bit) floating-point elements in a using the control in b, and store the results in dst.
Declaration
public static v128 permutevar_ps(v128 a, v128 b)
Parameters
Returns
testc_pd(v128, v128)
Compute the bitwise AND of 128 bits (representing
double-precision (64-bit) floating-point elements) in a and b,
producing an intermediate 128-bit value, and set ZF to 1 if the
sign bit of each 64-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 64-bit element in the intermediate
value is zero, otherwise set CF to 0. Return the CF value.
Declaration
public static int testc_pd(v128 a, v128 b)
Parameters
Returns
testc_ps(v128, v128)
Compute the bitwise AND of 128 bits (representing
single-precision (32-bit) floating-point elements) in a and b,
producing an intermediate 128-bit value, and set ZF to 1 if the
sign bit of each 32-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 32-bit element in the intermediate
value is zero, otherwise set CF to 0. Return the CF value.
Declaration
public static int testc_ps(v128 a, v128 b)
Parameters
Returns
testnzc_pd(v128, v128)
Compute the bitwise AND of 128 bits (representing
double-precision (64-bit) floating-point elements) in a and b,
producing an intermediate 128-bit value, and set ZF to 1 if the
sign bit of each 64-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 64-bit element in the intermediate
value is zero, otherwise set CF to 0. Return 1 if both the ZF
and CF values are zero, otherwise return 0.
Declaration
public static int testnzc_pd(v128 a, v128 b)
Parameters
Returns
testnzc_ps(v128, v128)
Compute the bitwise AND of 128 bits (representing
single-precision (32-bit) floating-point elements) in a and b,
producing an intermediate 128-bit value, and set ZF to 1 if the
sign bit of each 32-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 32-bit element in the intermediate
value is zero, otherwise set CF to 0. Return 1 if both the ZF
and CF values are zero, otherwise return 0.
Declaration
public static int testnzc_ps(v128 a, v128 b)
Parameters
Returns
testz_pd(v128, v128)
Compute the bitwise AND of 128 bits (representing
double-precision (64-bit) floating-point elements) in a and b,
producing an intermediate 128-bit value, and set ZF to 1 if the
sign bit of each 64-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 64-bit element in the intermediate
value is zero, otherwise set CF to 0. Return the ZF value.
Declaration
public static int testz_pd(v128 a, v128 b)
Parameters
Returns
testz_ps(v128, v128)
Compute the bitwise AND of 128 bits (representing
single-precision (32-bit) floating-point elements) in a and b,
producing an intermediate 128-bit value, and set ZF to 1 if the
sign bit of each 32-bit element in the intermediate value is
zero, otherwise set ZF to 0. Compute the bitwise NOT of a and
then AND with b, producing an intermediate value, and set CF to
1 if the sign bit of each 32-bit element in the intermediate
value is zero, otherwise set CF to 0. Return the ZF value.
Declaration
public static int testz_ps(v128 a, v128 b)
Parameters
Returns
undefined_pd()
Return a 128-bit vector with undefined contents.
Declaration
public static v128 undefined_pd()
Returns
undefined_ps()
Return a 128-bit vector with undefined contents.
Declaration
public static v128 undefined_ps()
Returns
undefined_si128()
Return a 128-bit vector with undefined contents.
Declaration
public static v128 undefined_si128()
Returns