AVX_ALL-Shift-XMM#

_mm_sllv_epi32#

Tech:

AVX_ALL

Category:

Shift

Header:

immintrin.h

Searchable:

AVX_ALL-Shift-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a, __m128i count

Param ETypes:

UI32 a, UI32 count

__m128i _mm_sllv_epi32(__m128i a, __m128i count);

Intel Description

Shift packed 32-bit integers in “a” left by the amount specified by the corresponding element in “count” while shifting in zeros, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*32
        IF count[i+31:i] < 32
                dst[i+31:i] := ZeroExtend32(a[i+31:i] << count[i+31:i])
        ELSE
                dst[i+31:i] := 0
        FI
ENDFOR
dst[MAX:128] := 0

_mm_sllv_epi64#

Tech:

AVX_ALL

Category:

Shift

Header:

immintrin.h

Searchable:

AVX_ALL-Shift-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a, __m128i count

Param ETypes:

UI64 a, UI64 count

__m128i _mm_sllv_epi64(__m128i a, __m128i count);

Intel Description

Shift packed 64-bit integers in “a” left by the amount specified by the corresponding element in “count” while shifting in zeros, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*64
        IF count[i+63:i] < 64
                dst[i+63:i] := ZeroExtend64(a[i+63:i] << count[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:128] := 0

_mm_srav_epi32#

Tech:

AVX_ALL

Category:

Shift

Header:

immintrin.h

Searchable:

AVX_ALL-Shift-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a, __m128i count

Param ETypes:

SI32 a, UI32 count

__m128i _mm_srav_epi32(__m128i a, __m128i count);

Intel Description

Shift packed 32-bit integers in “a” right by the amount specified by the corresponding element in “count” while shifting in sign bits, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*32
        IF count[i+31:i] < 32
                dst[i+31:i] := SignExtend32(a[i+31:i] >> count[i+31:i])
        ELSE
                dst[i+31:i] := (a[i+31] ? 0xFFFFFFFF : 0)
        FI
ENDFOR
dst[MAX:128] := 0

_mm_srlv_epi32#

Tech:

AVX_ALL

Category:

Shift

Header:

immintrin.h

Searchable:

AVX_ALL-Shift-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a, __m128i count

Param ETypes:

UI32 a, UI32 count

__m128i _mm_srlv_epi32(__m128i a, __m128i count);

Intel Description

Shift packed 32-bit integers in “a” right by the amount specified by the corresponding element in “count” while shifting in zeros, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 3
        i := j*32
        IF count[i+31:i] < 32
                dst[i+31:i] := ZeroExtend32(a[i+31:i] >> count[i+31:i])
        ELSE
                dst[i+31:i] := 0
        FI
ENDFOR
dst[MAX:128] := 0

_mm_srlv_epi64#

Tech:

AVX_ALL

Category:

Shift

Header:

immintrin.h

Searchable:

AVX_ALL-Shift-XMM

Register:

XMM 128 bit

Return Type:

__m128i

Param Types:

__m128i a, __m128i count

Param ETypes:

UI64 a, UI64 count

__m128i _mm_srlv_epi64(__m128i a, __m128i count);

Intel Description

Shift packed 64-bit integers in “a” right by the amount specified by the corresponding element in “count” while shifting in zeros, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*64
        IF count[i+63:i] < 64
                dst[i+63:i] := ZeroExtend64(a[i+63:i] >> count[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:128] := 0