Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_slli_epi32/ _mm512_mask_slli_epi32

Performs a logical left shift operation of the int32 vector.  Corresponding instruction is VPSLLD. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Syntax

Without Mask

extern __m512i __cdecl _mm512_slli_epi32(__m512i v2, unsigned int count);

With Mask

extern __m512i __cdecl _mm512_mask_slli_epi32(__m512iv1_old, __mmask16 k1, __m512i v2, unsigned int count);

Parameters

v2

int32 vector where the logical left shift operation is performed

count

specifies the number of bits by which the logical left shift must occur

v1_old

Source vector that retains old values of the destination vector; the resulting vector gets corresponding elements from v1_old for zero mask bits

k1

Writemask; only those elements of the source vectors with corresponding bit set to '1' in the k1 mask are computed and stored in the result; elements in the result vector corresponding to zero bit in k1 are copied from corresponding elements of vector v1_old

Description

Performs an element-by-element logical left shift of int32 vector v2, shifting by the number of bits given by immediate count. If the shift value specified by this parameter is greater than 31 then the result of the shift is zero.

The masked variant has one additional argument: k1. Only those elements in the source registers with the corresponding bit set in vector mask k1 are used for computing.

Returns

Returns the result of the operation.