Developer Guide and Reference

Contents

Intrinsics for Move Operations

The prototypes for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) intrinsics are located in the
zmmintrin.h
header file.
To use these intrinsics, include the
immintrin.h
file as follows:
#include <immintrin.h>
variable
definition
src
source element to use based on writemask result
k
writemask used as a selector
a
first source vector element
_mm_mask_mov_pd
__m128d _mm_mask_mov_pd(__m128d src, __mmask8 k, __m128d a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovapd
Move packed double-precision (64-bit) floating-point elements from
a
to the return value using writemask
k
(elements are copied from
src
when the corresponding mask bit is not set).
_mm_maskz_mov_pd
__m128d _mm_maskz_mov_pd(__mmask8 k, __m128d a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovapd
Move packed double-precision (64-bit) floating-point elements from
a
into the return value using zeromask
k
(elements are zeroed out when the corresponding mask bit is not set).
_mm256_mask_mov_pd
__m256d _mm256_mask_mov_pd(__m256d src, __mmask8 k, __m256d a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovapd
Move packed double-precision (64-bit) floating-point elements from
a
to the return value using writemask
k
(elements are copied from
src
when the corresponding mask bit is not set).
_mm256_maskz_mov_pd
__m256d _mm256_maskz_mov_pd(__mmask8 k, __m256d a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovapd
Move packed double-precision (64-bit) floating-point elements from
a
into the return value using zeromask
k
(elements are zeroed out when the corresponding mask bit is not set).
_mm_mask_mov_ps
__m128 _mm_mask_mov_ps(__m128 src, __mmask8 k, __m128 a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovaps
Move packed single-precision (32-bit) floating-point elements from
a
to the return value using writemask
k
(elements are copied from
src
when the corresponding mask bit is not set).
_mm_maskz_mov_ps
__m128 _mm_maskz_mov_ps(__mmask8 k, __m128 a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovaps
Move packed single-precision (32-bit) floating-point elements from
a
into the return value using zeromask
k
(elements are zeroed out when the corresponding mask bit is not set).
_mm256_mask_mov_ps
__m256 _mm256_mask_mov_ps(__m256 src, __mmask8 k, __m256 a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovaps
Move packed single-precision (32-bit) floating-point elements from
a
to the return value using writemask
k
(elements are copied from
src
when the corresponding mask bit is not set).
_mm256_maskz_mov_ps
__m256 _mm256_maskz_mov_ps(__mmask8 k, __m256 a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovaps
Move packed single-precision (32-bit) floating-point elements from
a
into the return value using zeromask
k
(elements are zeroed out when the corresponding mask bit is not set).
_mm_mask_movedup_pd
__m128d _mm_mask_movedup_pd(__m128d src, __mmask8 k, __m128d a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovddup
Duplicate even-indexed double-precision (64-bit) floating-point elements from
a
, and return the results using writemask
k
(elements are copied from
src
when the corresponding mask bit is not set).
_mm_maskz_movedup_pd
__m128d _mm_maskz_movedup_pd(__mmask8 k, __m128d a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovddup
Duplicate even-indexed double-precision (64-bit) floating-point elements from
a
, and return the results using zeromask
k
(elements are zeroed out when the corresponding mask bit is not set).
_mm256_mask_movedup_pd
__m256d _mm256_mask_movedup_pd(__m256d src, __mmask8 k, __m256d a)
CPUID Flags: AVX512F, AVX512VL
Instruction(s): vmovddup
Duplicate even-indexed double-precision (64-bit) floating-point elements from
a
, and return the results using writemask
k
(elements are copied from
src
when the corresponding mask bit is not set).
_mm256_maskz_movedup_pd
__m256d _mm256_