# Intrinsics for Shift 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
b | second source vector element

_mm_mask_rol_epi32

    __m128i _mm_mask_rol_epi32(__m128i src, __mmask8 k, __m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprold

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in imm, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_rol_epi32

    __m128i _mm_maskz_rol_epi32(__mmask8 k, __m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprold

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in imm, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_rol_epi32

    __m128i _mm_rol_epi32(__m128i a, int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprold

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in imm, and return the results.

_mm256_mask_rol_epi32

    __m256i _mm256_mask_rol_epi32(__m256i src, __mmask8 k, __m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprold

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in imm, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_rol_epi32

    __m256i _mm256_maskz_rol_epi32(__mmask8 k, __m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprold

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in imm, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_rol_epi32

    __m256i _mm256_rol_epi32(__m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprold

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in imm, and return the results.

_mm_mask_rol_epi64

    __m128i _mm_mask_rol_epi64(__m128i src, __mmask8 k, __m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in imm, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_rol_epi64

    __m128i _mm_maskz_rol_epi64(__mmask8 k, __m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in imm, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_rol_epi64

    __m128i _mm_rol_epi64(__m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in imm, and return the results.

_mm256_mask_rol_epi64

    __m256i _mm256_mask_rol_epi64(__m256i src, __mmask8 k, __m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in imm, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_rol_epi64

    __m256i _mm256_maskz_rol_epi64(__mmask8 k, __m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in imm, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_rol_epi64

    __m256i _mm256_rol_epi64(__m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in imm, and return the results.

_mm_mask_rolv_epi32

    __m128i _mm_mask_rolv_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvd

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_rolv_epi32

    __m128i _mm_maskz_rolv_epi32(__mmask8 k, __m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvd

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_rolv_epi32

    __m128i _mm_rolv_epi32(__m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvd

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results.

_mm256_mask_rolv_epi32

    __m256i _mm256_mask_rolv_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvd

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_rolv_epi32

    __m256i _mm256_maskz_rolv_epi32(__mmask8 k, __m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvd

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_rolv_epi32

    __m256i _mm256_rolv_epi32(__m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvd

Rotate the bits in each packed 32-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results.

_mm_mask_rolv_epi64

    __m128i _mm_mask_rolv_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_rolv_epi64

    __m128i _mm_maskz_rolv_epi64(__mmask8 k, __m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_rolv_epi64

    __m128i _mm_rolv_epi64(__m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results.

_mm256_mask_rolv_epi64

    __m256i _mm256_mask_rolv_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_rolv_epi64

    __m256i _mm256_maskz_rolv_epi64(__mmask8 k, __m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_rolv_epi64

    __m256i _mm256_rolv_epi64(__m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprolvq

Rotate the bits in each packed 64-bit integer in a to the left by the number of bits specified in the corresponding element of b, and return the results.

_mm_mask_ror_epi32

    __m128i _mm_mask_ror_epi32(__m128i src, __mmask8 k, __m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprord

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in imm, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_ror_epi32

    __m128i _mm_maskz_ror_epi32(__mmask8 k, __m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprord

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in imm, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_ror_epi32

    __m128i _mm_ror_epi32(__m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprord

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in imm, and return the results.

_mm256_mask_ror_epi32

    __m256i _mm256_mask_ror_epi32(__m256i src, __mmask8 k, __m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprord

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in imm, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_ror_epi32

    __m256i _mm256_maskz_ror_epi32(__mmask8 k, __m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprord

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in imm, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_ror_epi32

    __m256i _mm256_ror_epi32(__m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprord

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in imm, and return the results.

_mm_mask_ror_epi64

    __m128i _mm_mask_ror_epi64(__m128i src, __mmask8 k, __m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in imm, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_ror_epi64

    __m128i _mm_maskz_ror_epi64(__mmask8 k, __m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in imm, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_ror_epi64

    __m128i _mm_ror_epi64(__m128i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in imm, and return the results.

_mm256_mask_ror_epi64

    __m256i _mm256_mask_ror_epi64(__m256i src, __mmask8 k, __m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in imm, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_ror_epi64

    __m256i _mm256_maskz_ror_epi64(__mmask8 k, __m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in imm, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_ror_epi64

    __m256i _mm256_ror_epi64(__m256i a, const int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in imm, and return the results.

_mm_mask_rorv_epi32

    __m128i _mm_mask_rorv_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvd

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_rorv_epi32

    __m128i _mm_maskz_rorv_epi32(__mmask8 k, __m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvd

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_rorv_epi32

    __m128i _mm_rorv_epi32(__m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvd

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results.

_mm256_mask_rorv_epi32

    __m256i _mm256_mask_rorv_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvd

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_rorv_epi32

    __m256i _mm256_maskz_rorv_epi32(__mmask8 k, __m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvd

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_rorv_epi32

    __m256i _mm256_rorv_epi32(__m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvd

Rotate the bits in each packed 32-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results.

_mm_mask_rorv_epi64

    __m128i _mm_mask_rorv_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_rorv_epi64

    __m128i _mm_maskz_rorv_epi64(__mmask8 k, __m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_rorv_epi64

    __m128i _mm_rorv_epi64(__m128i a, __m128i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results.

_mm256_mask_rorv_epi64

    __m256i _mm256_mask_rorv_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_rorv_epi64

    __m256i _mm256_maskz_rorv_epi64(__mmask8 k, __m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_rorv_epi64

    __m256i _mm256_rorv_epi64(__m256i a, __m256i b)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vprorvq

Rotate the bits in each packed 64-bit integer in a to the right by the number of bits specified in the corresponding element of b, and return the results.

_mm_mask_sll_epi32

    __m128i _mm_mask_sll_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpslld

Shift packed 32-bit integers in a left by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_slli_epi32

    __m128i _mm_mask_slli_epi32(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpslld

Shift packed 32-bit integers in a left by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sll_epi32

    __m128i _mm_maskz_sll_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpslld

Shift packed 32-bit integers in a left by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_slli_epi32

    __m128i _mm_maskz_slli_epi32(__mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpslld

Shift packed 32-bit integers in a left by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_sll_epi32

    __m256i _mm256_mask_sll_epi32(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpslld

Shift packed 32-bit integers in a left by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_slli_epi32

    __m256i _mm256_mask_slli_epi32(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpslld

Shift packed 32-bit integers in a left by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sll_epi32

    __m256i _mm256_maskz_sll_epi32(__mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpslld

Shift packed 32-bit integers in a left by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_slli_epi32

    __m256i _mm256_maskz_slli_epi32(__mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpslld

Shift packed 32-bit integers in a left by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_bslli_epi128

    __m512i _mm512_bslli_epi128(__m512i a, int imm)

CPUID Flags: AVX512BW

Instruction(s): vpslldq

Shift 128-bit lanes in a left by imm bytes while shifting in zeros, and return the results.

_mm_mask_sll_epi64

    __m128i _mm_mask_sll_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllq

Shift packed 64-bit integers in a left by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_slli_epi64

    __m128i _mm_mask_slli_epi64(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllq

Shift packed 64-bit integers in a left by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sll_epi64

    __m128i _mm_maskz_sll_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllq

Shift packed 64-bit integers in a left by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_slli_epi64

    __m128i _mm_maskz_slli_epi64(__mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllq

Shift packed 64-bit integers in a left by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_sll_epi64

    __m256i _mm256_mask_sll_epi64(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllq

Shift packed 64-bit integers in a left by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_slli_epi64

    __m256i _mm256_mask_slli_epi64(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllq

Shift packed 64-bit integers in a left by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sll_epi64

    __m256i _mm256_maskz_sll_epi64(__mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllq

Shift packed 64-bit integers in a left by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_slli_epi64

    __m256i _mm256_maskz_slli_epi64(__mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllq

Shift packed 64-bit integers in a left by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_mask_sllv_epi32

    __m128i _mm_mask_sllv_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllvd

Shift packed 32-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sllv_epi32

    __m128i _mm_maskz_sllv_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllvd

Shift packed 32-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_sllv_epi32

    __m256i _mm256_mask_sllv_epi32(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllvd

Shift packed 32-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sllv_epi32

    __m256i _mm256_maskz_sllv_epi32(__mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllvd

Shift packed 32-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_mask_sllv_epi64

    __m128i _mm_mask_sllv_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllvq

Shift packed 64-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sllv_epi64

    __m128i _mm_maskz_sllv_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllvq

Shift packed 64-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_sllv_epi64

    __m256i _mm256_mask_sllv_epi64(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllvq

Shift packed 64-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sllv_epi64

    __m256i _mm256_maskz_sllv_epi64(__mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsllvq

Shift packed 64-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_mask_sllv_epi16

    __m128i _mm_mask_sllv_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sllv_epi16

    __m128i _mm_maskz_sllv_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_sllv_epi16

    __m128i _mm_sllv_epi16(__m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results.

_mm256_mask_sllv_epi16

    __m256i _mm256_mask_sllv_epi16(__m256i src, __mmask16 k, __m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sllv_epi16

    __m256i _mm256_maskz_sllv_epi16(__mmask16 k, __m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_sllv_epi16

    __m256i _mm256_sllv_epi16(__m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results.

_mm512_mask_sllv_epi16

    __m512i _mm512_mask_sllv_epi16(__m512i src, __mmask32 k, __m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_sllv_epi16

    __m512i _mm512_maskz_sllv_epi16(__mmask32 k, __m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_sllv_epi16

    __m512i _mm512_sllv_epi16(__m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsllvw

Shift packed 16-bit integers in a left by the amount specified by the corresponding element in count while shifting in zeros, and return the results.

_mm_mask_sll_epi16

    __m128i _mm_mask_sll_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_slli_epi16

    __m128i _mm_mask_slli_epi16(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sll_epi16

    __m128i _mm_maskz_sll_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_slli_epi16

    __m128i _mm_maskz_slli_epi16(__mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_sll_epi16

    __m256i _mm256_mask_sll_epi16(__m256i src, __mmask16 k, __m256i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_slli_epi16

    __m256i _mm256_mask_slli_epi16(__m256i src, __mmask16 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sll_epi16

    __m256i _mm256_maskz_sll_epi16(__mmask16 k, __m256i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_slli_epi16

    __m256i _mm256_maskz_slli_epi16(__mmask16 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_mask_sll_epi16

    __m512i _mm512_mask_sll_epi16(__m512i src, __mmask32 k, __m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_slli_epi16

    __m512i _mm512_mask_slli_epi16(__m512i src, __mmask32 k, __m512i a, unsigned int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_sll_epi16

    __m512i _mm512_maskz_sll_epi16(__mmask32 k, __m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_maskz_slli_epi16

    __m512i _mm512_maskz_slli_epi16(__mmask32 k, __m512i a, unsigned int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_sll_epi16

    __m512i _mm512_sll_epi16(__m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by count while shifting in zeros, and return the results.

_mm512_slli_epi16

    __m512i _mm512_slli_epi16(__m512i a, unsigned int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsllw

Shift packed 16-bit integers in a left by imm while shifting in zeros, and return the results.

_mm_mask_sra_epi32

    __m128i _mm_mask_sra_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrad

Shift packed 32-bit integers in a right by count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_srai_epi32

    __m128i _mm_mask_srai_epi32(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrad

Shift packed 32-bit integers in a right by imm while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sra_epi32

    __m128i _mm_maskz_sra_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrad

Shift packed 32-bit integers in a right by count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_srai_epi32

    __m128i _mm_maskz_srai_epi32(__mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrad

Shift packed 32-bit integers in a right by imm while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_sra_epi32

    __m256i _mm256_mask_sra_epi32(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrad

Shift packed 32-bit integers in a right by count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_srai_epi32

    __m256i _mm256_mask_srai_epi32(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrad

Shift packed 32-bit integers in a right by imm while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sra_epi32

    __m256i _mm256_maskz_sra_epi32(__mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrad

Shift packed 32-bit integers in a right by count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_srai_epi32

    __m256i _mm256_maskz_srai_epi32(__mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrad

Shift packed 32-bit integers in a right by imm while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_mask_sra_epi64

    __m128i _mm_mask_sra_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_srai_epi64

    __m128i _mm_mask_srai_epi64(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by imm while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sra_epi64

    __m128i _mm_maskz_sra_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_srai_epi64

    __m128i _mm_maskz_srai_epi64(__mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by imm while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_sra_epi64

    __m128i _mm_sra_epi64(__m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by count while shifting in sign bits, and return the results.

_mm_srai_epi64

    __m128i _mm_srai_epi64(__m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by imm while shifting in sign bits, and return the results.

_mm256_mask_sra_epi64

    __m256i _mm256_mask_sra_epi64(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_srai_epi64

    __m256i _mm256_mask_srai_epi64(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by imm while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sra_epi64

    __m256i _mm256_maskz_sra_epi64(__mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_srai_epi64

    __m256i _mm256_maskz_srai_epi64(__mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by imm while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_sra_epi64

    __m256i _mm256_sra_epi64(__m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by count while shifting in sign bits, and return the results.

_mm256_srai_epi64

    __m256i _mm256_srai_epi64(__m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsraq

Shift packed 64-bit integers in a right by imm while shifting in sign bits, and return the results.

_mm_mask_srav_epi32

    __m128i _mm_mask_srav_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravd

Shift packed 32-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srav_epi32

    __m128i _mm_maskz_srav_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravd

Shift packed 32-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_srav_epi32

    __m256i _mm256_mask_srav_epi32(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravd

Shift packed 32-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srav_epi32

    __m256i _mm256_maskz_srav_epi32(__mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravd

Shift packed 32-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_mask_srav_epi64

    __m128i _mm_mask_srav_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srav_epi64

    __m128i _mm_maskz_srav_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_srav_epi64

    __m128i _mm_srav_epi64(__m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results.

_mm256_mask_srav_epi64

    __m256i _mm256_mask_srav_epi64(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srav_epi64

    __m256i _mm256_maskz_srav_epi64(__mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_srav_epi64

    __m256i _mm256_srav_epi64(__m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsravq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results.

_mm_mask_srav_epi16

    __m128i _mm_mask_srav_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srav_epi16

    __m128i _mm_maskz_srav_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_srav_epi16

    __m128i _mm_srav_epi16(__m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results.

_mm256_mask_srav_epi16

    __m256i _mm256_mask_srav_epi16(__m256i src, __mmask16 k, __m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srav_epi16

    __m256i _mm256_maskz_srav_epi16(__mmask16 k, __m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_srav_epi16

    __m256i _mm256_srav_epi16(__m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results.

_mm512_mask_srav_epi16

    __m512i _mm512_mask_srav_epi16(__m512i src, __mmask32 k, __m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_srav_epi16

    __m512i _mm512_maskz_srav_epi16(__mmask32 k, __m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_srav_epi16

    __m512i _mm512_srav_epi16(__m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsravw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in sign bits, and return the results.

_mm_mask_sra_epi16

    __m128i _mm_mask_sra_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_srai_epi16

    __m128i _mm_mask_srai_epi16(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by imm while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_sra_epi16

    __m128i _mm_maskz_sra_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_srai_epi16

    __m128i _mm_maskz_srai_epi16(__mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by imm while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_sra_epi16

    __m256i _mm256_mask_sra_epi16(__m256i src, __mmask16 k, __m256i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_srai_epi16

    __m256i _mm256_mask_srai_epi16(__m256i src, __mmask16 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by imm while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_sra_epi16

    __m256i _mm256_maskz_sra_epi16(__mmask16 k, __m256i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_srai_epi16

    __m256i _mm256_maskz_srai_epi16(__mmask16 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by imm while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_mask_sra_epi16

    __m512i _mm512_mask_sra_epi16(__m512i src, __mmask32 k, __m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by count while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_srai_epi16

    __m512i _mm512_mask_srai_epi16(__m512i src, __mmask32 k, __m512i a, unsigned int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by imm while shifting in sign bits, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_sra_epi16

    __m512i _mm512_maskz_sra_epi16(__mmask32 k, __m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by count while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_maskz_srai_epi16

    __m512i _mm512_maskz_srai_epi16(__mmask32 k, __m512i a, unsigned int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by imm while shifting in sign bits, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_sra_epi16

    __m512i _mm512_sra_epi16(__m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by count while shifting in sign bits, and return the results.

_mm512_srai_epi16

    __m512i _mm512_srai_epi16(__m512i a, unsigned int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsraw

Shift packed 16-bit integers in a right by imm while shifting in sign bits, and return the results.

_mm_mask_srl_epi32

    __m128i _mm_mask_srl_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrld

Shift packed 32-bit integers in a right by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_srli_epi32

    __m128i _mm_mask_srli_epi32(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrld

Shift packed 32-bit integers in a right by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srl_epi32

    __m128i _mm_maskz_srl_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrld

Shift packed 32-bit integers in a right by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_srli_epi32

    __m128i _mm_maskz_srli_epi32(__mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrld

Shift packed 32-bit integers in a right by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_srl_epi32

    __m256i _mm256_mask_srl_epi32(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrld

Shift packed 32-bit integers in a right by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_srli_epi32

    __m256i _mm256_mask_srli_epi32(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrld

Shift packed 32-bit integers in a right by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srl_epi32

    __m256i _mm256_maskz_srl_epi32(__mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrld

Shift packed 32-bit integers in a right by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_srli_epi32

    __m256i _mm256_maskz_srli_epi32(__mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrld

Shift packed 32-bit integers in a right by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_bsrli_epi128

    __m512i _mm512_bsrli_epi128(__m512i a, int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsrldq

Shift 128-bit lanes in a right by imm bytes while shifting in zeros, and return the results.

_mm_mask_srl_epi64

    __m128i _mm_mask_srl_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlq

Shift packed 64-bit integers in a right by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_srli_epi64

    __m128i _mm_mask_srli_epi64(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlq

Shift packed 64-bit integers in a right by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srl_epi64

    __m128i _mm_maskz_srl_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlq

Shift packed 64-bit integers in a right by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_srli_epi64

    __m128i _mm_maskz_srli_epi64(__mmask8 k, __m128i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlq

Shift packed 64-bit integers in a right by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_srl_epi64

    __m256i _mm256_mask_srl_epi64(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlq

Shift packed 64-bit integers in a right by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_srli_epi64

    __m256i _mm256_mask_srli_epi64(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlq

Shift packed 64-bit integers in a right by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srl_epi64

    __m256i _mm256_maskz_srl_epi64(__mmask8 k, __m256i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlq

Shift packed 64-bit integers in a right by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_srli_epi64

    __m256i _mm256_maskz_srli_epi64(__mmask8 k, __m256i a, unsigned int imm)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlq

Shift packed 64-bit integers in a right by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_mask_srlv_epi32

    __m128i _mm_mask_srlv_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlvd

Shift packed 32-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srlv_epi32

    __m128i _mm_maskz_srlv_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlvd

Shift packed 32-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_srlv_epi32

    __m256i _mm256_mask_srlv_epi32(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlvd

Shift packed 32-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srlv_epi32

    __m256i _mm256_maskz_srlv_epi32(__mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlvd

Shift packed 32-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_mask_srlv_epi64

    __m128i _mm_mask_srlv_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlvq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srlv_epi64

    __m128i _mm_maskz_srlv_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlvq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_srlv_epi64

    __m256i _mm256_mask_srlv_epi64(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlvq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srlv_epi64

    __m256i _mm256_maskz_srlv_epi64(__mmask8 k, __m256i a, __m256i count)

CPUID Flags: AVX512F, AVX512VL

Instruction(s): vpsrlvq

Shift packed 64-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_mask_srlv_epi16

    __m128i _mm_mask_srlv_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srlv_epi16

    __m128i _mm_maskz_srlv_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_srlv_epi16

    __m128i _mm_srlv_epi16(__m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results.

_mm256_mask_srlv_epi16

    __m256i _mm256_mask_srlv_epi16(__m256i src, __mmask16 k, __m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srlv_epi16

    __m256i _mm256_maskz_srlv_epi16(__mmask16 k, __m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_srlv_epi16

    __m256i _mm256_srlv_epi16(__m256i a, __m256i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results.

_mm512_mask_srlv_epi16

    __m512i _mm512_mask_srlv_epi16(__m512i src, __mmask32 k, __m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_srlv_epi16

    __m512i _mm512_maskz_srlv_epi16(__mmask32 k, __m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_srlv_epi16

    __m512i _mm512_srlv_epi16(__m512i a, __m512i count)

CPUID Flags: AVX512BW

Instruction(s): vpsrlvw

Shift packed 16-bit integers in a right by the amount specified by the corresponding element in count while shifting in zeros, and return the results.

_mm_mask_srl_epi16

    __m128i _mm_mask_srl_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_mask_srli_epi16

    __m128i _mm_mask_srli_epi16(__m128i src, __mmask8 k, __m128i a, int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm_maskz_srl_epi16

    __m128i _mm_maskz_srl_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm_maskz_srli_epi16

    __m128i _mm_maskz_srli_epi16(__mmask8 k, __m128i a, int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_mask_srl_epi16

    __m256i _mm256_mask_srl_epi16(__m256i src, __mmask16 k, __m256i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_mask_srli_epi16

    __m256i _mm256_mask_srli_epi16(__m256i src, __mmask16 k, __m256i a, int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm256_maskz_srl_epi16

    __m256i _mm256_maskz_srl_epi16(__mmask16 k, __m256i a, __m128i count)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm256_maskz_srli_epi16

    __m256i _mm256_maskz_srli_epi16(__mmask16 k, __m256i a, int imm)

CPUID Flags: AVX512BW, AVX512VL

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_mask_srl_epi16

    __m512i _mm512_mask_srl_epi16(__m512i src, __mmask32 k, __m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by count while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_mask_srli_epi16

    __m512i _mm512_mask_srli_epi16(__m512i src, __mmask32 k, __m512i a, unsigned int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by imm while shifting in zeros, and return the results using writemask k (elements are copied from src when the corresponding mask bit is not set).

_mm512_maskz_srl_epi16

    __m512i _mm512_maskz_srl_epi16(__mmask32 k, __m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by count while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_maskz_srli_epi16

    __m512i _mm512_maskz_srli_epi16(__mmask32 k, __m512i a, int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by imm while shifting in zeros, and return the results using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

_mm512_srl_epi16

    __m512i _mm512_srl_epi16(__m512i a, __m128i count)

CPUID Flags: AVX512BW

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by count while shifting in zeros, and return the results.

_mm512_srli_epi16

    __m512i _mm512_srli_epi16(__m512i a, unsigned int imm)

CPUID Flags: AVX512BW

Instruction(s): vpsrlw

Shift packed 16-bit integers in a right by imm while shifting in zeros, and return the results.

Parent topic: Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Additional Instructions