SVML-Arithmetic-ZMM#

_mm512_div_epi32#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

SI32 a, SI32 b

__m512i _mm512_div_epi32(__m512i a, __m512i b);

Intel Description

Divide packed signed 32-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 15
        i := 32*j
        IF b[i+31:i] == 0
                #DE
        FI
        dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:512] := 0

_mm512_mask_div_epi32#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask16 k, __m512i a, __m512i b

Param ETypes:

UI32 src, MASK k, SI32 a, SI32 b

__m512i _mm512_mask_div_epi32(__m512i src, __mmask16 k,
                              __m512i a, __m512i b)

Intel Description

Divide packed signed 32-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 15
        i := 32*j
        IF k[j]
                IF b[i+31:i] == 0
                        #DE
                FI
                dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_div_epi8#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

SI8 a, SI8 b

__m512i _mm512_div_epi8(__m512i a, __m512i b);

Intel Description

Divide packed signed 8-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 63
        i := 8*j
        IF b[i+7:i] == 0
                #DE
        FI
        dst[i+7:i] := Truncate8(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:512] := 0

_mm512_div_epi16#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

SI16 a, SI16 b

__m512i _mm512_div_epi16(__m512i a, __m512i b);

Intel Description

Divide packed signed 16-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        i := 16*j
        IF b[i+15:i] == 0
                #DE
        FI
        dst[i+15:i] := Truncate16(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:512] := 0

_mm512_div_epi64#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

SI64 a, SI64 b

__m512i _mm512_div_epi64(__m512i a, __m512i b);

Intel Description

Divide packed signed 64-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := 64*j
        IF b[i+63:i] == 0
                #DE
        FI
        dst[i+63:i] := Truncate64(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:512] := 0

_mm512_rem_epi32#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI32 a, UI32 b

__m512i _mm512_rem_epi32(__m512i a, __m512i b);

Intel Description

Divide packed 32-bit integers in “a” by packed elements in “b”, and store the remainders as packed 32-bit integers in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 15
        i := 32*j
        dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:512] := 0

_mm512_mask_rem_epi32#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask16 k, __m512i a, __m512i b

Param ETypes:

UI32 src, MASK k, UI32 a, UI32 b

__m512i _mm512_mask_rem_epi32(__m512i src, __mmask16 k,
                              __m512i a, __m512i b)

Intel Description

Divide packed 32-bit integers in “a” by packed elements in “b”, and store the remainders as packed 32-bit integers in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 15
        i := 32*j
        IF k[j]
                dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_rem_epi8#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI8 a, UI8 b

__m512i _mm512_rem_epi8(__m512i a, __m512i b);

Intel Description

Divide packed 8-bit integers in “a” by packed elements in “b”, and store the remainders as packed 32-bit integers in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 63
        i := 8*j
        dst[i+7:i] := REMAINDER(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:512] := 0

_mm512_rem_epi16#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI16 a, UI16 b

__m512i _mm512_rem_epi16(__m512i a, __m512i b);

Intel Description

Divide packed 16-bit integers in “a” by packed elements in “b”, and store the remainders as packed 32-bit integers in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        i := 16*j
        dst[i+15:i] := REMAINDER(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:512] := 0

_mm512_rem_epi64#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI64 a, UI64 b

__m512i _mm512_rem_epi64(__m512i a, __m512i b);

Intel Description

Divide packed 64-bit integers in “a” by packed elements in “b”, and store the remainders as packed 32-bit integers in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := 64*j
        dst[i+63:i] := REMAINDER(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:512] := 0

_mm512_div_epu32#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI32 a, UI32 b

__m512i _mm512_div_epu32(__m512i a, __m512i b);

Intel Description

Divide packed unsigned 32-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 15
        i := 32*j
        IF b[i+31:i] == 0
                #DE
        FI
        dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:512] := 0

_mm512_mask_div_epu32#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask16 k, __m512i a, __m512i b

Param ETypes:

UI32 src, MASK k, UI32 a, UI32 b

__m512i _mm512_mask_div_epu32(__m512i src, __mmask16 k,
                              __m512i a, __m512i b)

Intel Description

Divide packed unsigned 32-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 15
        i := 32*j
        IF k[j]
                IF b[i+31:i] == 0
                        #DE
                FI
                dst[i+31:i] := Truncate32(a[i+31:i] / b[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_div_epu8#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI8 a, UI8 b

__m512i _mm512_div_epu8(__m512i a, __m512i b);

Intel Description

Divide packed unsigned 8-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 63
        i := 8*j
        IF b[i+7:i] == 0
                #DE
        FI
        dst[i+7:i] := Truncate8(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:512] := 0

_mm512_div_epu16#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI16 a, UI16 b

__m512i _mm512_div_epu16(__m512i a, __m512i b);

Intel Description

Divide packed unsigned 16-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        i := 16*j
        IF b[i+15:i] == 0
                #DE
        FI
        dst[i+15:i] := Truncate16(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:512] := 0

_mm512_div_epu64#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI64 a, UI64 b

__m512i _mm512_div_epu64(__m512i a, __m512i b);

Intel Description

Divide packed unsigned 64-bit integers in “a” by packed elements in “b”, and store the truncated results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := 64*j
        IF b[i+63:i] == 0
                #DE
        FI
        dst[i+63:i] := Truncate64(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:512] := 0

_mm512_rem_epu32#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI32 a, UI32 b

__m512i _mm512_rem_epu32(__m512i a, __m512i b);

Intel Description

Divide packed unsigned 32-bit integers in “a” by packed elements in “b”, and store the remainders as packed unsigned 32-bit integers in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 15
        i := 32*j
        dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
ENDFOR
dst[MAX:512] := 0

_mm512_mask_rem_epu32#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask16 k, __m512i a, __m512i b

Param ETypes:

UI32 src, MASK k, UI32 a, UI32 b

__m512i _mm512_mask_rem_epu32(__m512i src, __mmask16 k,
                              __m512i a, __m512i b)

Intel Description

Divide packed unsigned 32-bit integers in “a” by packed elements in “b”, and store the remainders as packed unsigned 32-bit integers in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 15
        i := 32*j
        IF k[j]
                dst[i+31:i] := REMAINDER(a[i+31:i] / b[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_rem_epu8#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI8 a, UI8 b

__m512i _mm512_rem_epu8(__m512i a, __m512i b);

Intel Description

Divide packed unsigned 8-bit integers in “a” by packed elements in “b”, and store the remainders as packed unsigned 32-bit integers in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 63
        i := 8*j
        dst[i+7:i] := REMAINDER(a[i+7:i] / b[i+7:i])
ENDFOR
dst[MAX:512] := 0

_mm512_rem_epu16#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI16 a, UI16 b

__m512i _mm512_rem_epu16(__m512i a, __m512i b);

Intel Description

Divide packed unsigned 16-bit integers in “a” by packed elements in “b”, and store the remainders as packed unsigned 32-bit integers in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        i := 16*j
        dst[i+15:i] := REMAINDER(a[i+15:i] / b[i+15:i])
ENDFOR
dst[MAX:512] := 0

_mm512_rem_epu64#

Tech:

SVML

Category:

Arithmetic

Header:

immintrin.h

Searchable:

SVML-Arithmetic-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI64 a, UI64 b

__m512i _mm512_rem_epu64(__m512i a, __m512i b);

Intel Description

Divide packed unsigned 64-bit integers in “a” by packed elements in “b”, and store the remainders as packed unsigned 32-bit integers in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := 64*j
        dst[i+63:i] := REMAINDER(a[i+63:i] / b[i+63:i])
ENDFOR
dst[MAX:512] := 0