AVX-512-Special Math Functions-ZMM

Contents

AVX-512-Special Math Functions-ZMM#

_mm512_mask_max_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__m512d src, __mmask8 k, __m512d a, __m512d b

Param ETypes:

FP64 src, MASK k, FP64 a, FP64 b

__m512d _mm512_mask_max_pd(__m512d src, __mmask8 k,
                           __m512d a, __m512d b)

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_mask_max_round_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__m512d src, __mmask8 k, __m512d a, __m512d b, int sae

Param ETypes:

FP64 src, MASK k, FP64 a, FP64 b, IMM sae

__m512d _mm512_mask_max_round_pd(__m512d src, __mmask8 k,
                                 __m512d a, __m512d b,
                                 int sae)

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [sae_note][max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_max_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__mmask8 k, __m512d a, __m512d b

Param ETypes:

MASK k, FP64 a, FP64 b

__m512d _mm512_maskz_max_pd(__mmask8 k, __m512d a,
                            __m512d b)

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_max_round_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__mmask8 k, __m512d a, __m512d b, int sae

Param ETypes:

MASK k, FP64 a, FP64 b, IMM sae

__m512d _mm512_maskz_max_round_pd(__mmask8 k, __m512d a,
                                  __m512d b, int sae)

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [sae_note][max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_max_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__m512d a, __m512d b

Param ETypes:

FP64 a, FP64 b

__m512d _mm512_max_pd(__m512d a, __m512d b);

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst”. [max_float_note]

Intel Implementation Psudeo-Code

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

_mm512_max_round_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__m512d a, __m512d b, int sae

Param ETypes:

FP64 a, FP64 b, IMM sae

__m512d _mm512_max_round_pd(__m512d a, __m512d b, int sae);

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst”. [sae_note][max_float_note]

Intel Implementation Psudeo-Code

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

_mm512_mask_max_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__m512 src, __mmask16 k, __m512 a, __m512 b

Param ETypes:

FP32 src, MASK k, FP32 a, FP32 b

__m512 _mm512_mask_max_ps(__m512 src, __mmask16 k, __m512 a,
                          __m512 b)

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [max_float_note]

Intel Implementation Psudeo-Code

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

_mm512_mask_max_round_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__m512 src, __mmask16 k, __m512 a, __m512 b, int sae

Param ETypes:

FP32 src, MASK k, FP32 a, FP32 b, IMM sae

__m512 _mm512_mask_max_round_ps(__m512 src, __mmask16 k,
                                __m512 a, __m512 b,
                                int sae)

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [sae_note][max_float_note]

Intel Implementation Psudeo-Code

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

_mm512_maskz_max_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__mmask16 k, __m512 a, __m512 b

Param ETypes:

MASK k, FP32 a, FP32 b

__m512 _mm512_maskz_max_ps(__mmask16 k, __m512 a, __m512 b);

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]

Intel Implementation Psudeo-Code

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

_mm512_maskz_max_round_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__mmask16 k, __m512 a, __m512 b, int sae

Param ETypes:

MASK k, FP32 a, FP32 b, IMM sae

__m512 _mm512_maskz_max_round_ps(__mmask16 k, __m512 a,
                                 __m512 b, int sae)

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [sae_note][max_float_note]

Intel Implementation Psudeo-Code

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

_mm512_max_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__m512 a, __m512 b

Param ETypes:

FP32 a, FP32 b

__m512 _mm512_max_ps(__m512 a, __m512 b);

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst”. [max_float_note]

Intel Implementation Psudeo-Code

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

_mm512_max_round_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__m512 a, __m512 b, int sae

Param ETypes:

FP32 a, FP32 b, IMM sae

__m512 _mm512_max_round_ps(__m512 a, __m512 b, int sae);

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst”. [sae_note][max_float_note]

Intel Implementation Psudeo-Code

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

_mm512_mask_min_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__m512d src, __mmask8 k, __m512d a, __m512d b

Param ETypes:

FP64 src, MASK k, FP64 a, FP64 b

__m512d _mm512_mask_min_pd(__m512d src, __mmask8 k,
                           __m512d a, __m512d b)

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_mask_min_round_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__m512d src, __mmask8 k, __m512d a, __m512d b, int sae

Param ETypes:

FP64 src, MASK k, FP64 a, FP64 b, IMM sae

__m512d _mm512_mask_min_round_pd(__m512d src, __mmask8 k,
                                 __m512d a, __m512d b,
                                 int sae)

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [sae_note][min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_min_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__mmask8 k, __m512d a, __m512d b

Param ETypes:

MASK k, FP64 a, FP64 b

__m512d _mm512_maskz_min_pd(__mmask8 k, __m512d a,
                            __m512d b)

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_min_round_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__mmask8 k, __m512d a, __m512d b, int sae

Param ETypes:

MASK k, FP64 a, FP64 b, IMM sae

__m512d _mm512_maskz_min_round_pd(__mmask8 k, __m512d a,
                                  __m512d b, int sae)

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [sae_note][min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_min_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__m512d a, __m512d b

Param ETypes:

FP64 a, FP64 b

__m512d _mm512_min_pd(__m512d a, __m512d b);

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst”. [min_float_note]

Intel Implementation Psudeo-Code

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

_mm512_min_round_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512d

Param Types:

__m512d a, __m512d b, int sae

Param ETypes:

FP64 a, FP64 b, IMM sae

__m512d _mm512_min_round_pd(__m512d a, __m512d b, int sae);

Intel Description

Compare packed double-precision (64-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst”. [sae_note][min_float_note]

Intel Implementation Psudeo-Code

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

_mm512_mask_min_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__m512 src, __mmask16 k, __m512 a, __m512 b

Param ETypes:

FP32 src, MASK k, FP32 a, FP32 b

__m512 _mm512_mask_min_ps(__m512 src, __mmask16 k, __m512 a,
                          __m512 b)

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [min_float_note]

Intel Implementation Psudeo-Code

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

_mm512_mask_min_round_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__m512 src, __mmask16 k, __m512 a, __m512 b, int sae

Param ETypes:

FP32 src, MASK k, FP32 a, FP32 b, IMM sae

__m512 _mm512_mask_min_round_ps(__m512 src, __mmask16 k,
                                __m512 a, __m512 b,
                                int sae)

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [sae_note][min_float_note]

Intel Implementation Psudeo-Code

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

_mm512_maskz_min_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__mmask16 k, __m512 a, __m512 b

Param ETypes:

MASK k, FP32 a, FP32 b

__m512 _mm512_maskz_min_ps(__mmask16 k, __m512 a, __m512 b);

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]

Intel Implementation Psudeo-Code

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

_mm512_maskz_min_round_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__mmask16 k, __m512 a, __m512 b, int sae

Param ETypes:

MASK k, FP32 a, FP32 b, IMM sae

__m512 _mm512_maskz_min_round_ps(__mmask16 k, __m512 a,
                                 __m512 b, int sae)

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [sae_note][min_float_note]

Intel Implementation Psudeo-Code

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

_mm512_min_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__m512 a, __m512 b

Param ETypes:

FP32 a, FP32 b

__m512 _mm512_min_ps(__m512 a, __m512 b);

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst”. [min_float_note]

Intel Implementation Psudeo-Code

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

_mm512_min_round_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512

Param Types:

__m512 a, __m512 b, int sae

Param ETypes:

FP32 a, FP32 b, IMM sae

__m512 _mm512_min_round_ps(__m512 a, __m512 b, int sae);

Intel Description

Compare packed single-precision (32-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst”. [sae_note][min_float_note]

Intel Implementation Psudeo-Code

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

_mm512_abs_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a

Param ETypes:

SI32 a

__m512i _mm512_abs_epi32(__m512i a);

Intel Description

Compute the absolute value of packed signed 32-bit integers in “a”, and store the unsigned results in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_mask_abs_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask16 k, __m512i a

Param ETypes:

UI32 src, MASK k, SI32 a

__m512i _mm512_mask_abs_epi32(__m512i src, __mmask16 k,
                              __m512i a)

Intel Description

Compute the absolute value of packed signed 32-bit integers in “a”, and store the unsigned 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 := j*32
        IF k[j]
                dst[i+31:i] := ABS(a[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_abs_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask16 k, __m512i a

Param ETypes:

MASK k, SI32 a

__m512i _mm512_maskz_abs_epi32(__mmask16 k, __m512i a);

Intel Description

Compute the absolute value of packed signed 32-bit integers in “a”, and store the unsigned results in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

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

_mm512_abs_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a

Param ETypes:

SI64 a

__m512i _mm512_abs_epi64(__m512i a);

Intel Description

Compute the absolute value of packed signed 64-bit integers in “a”, and store the unsigned results in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_mask_abs_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask8 k, __m512i a

Param ETypes:

UI64 src, MASK k, SI64 a

__m512i _mm512_mask_abs_epi64(__m512i src, __mmask8 k,
                              __m512i a)

Intel Description

Compute the absolute value of packed signed 64-bit integers in “a”, and store the unsigned 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 7
        i := j*64
        IF k[j]
                dst[i+63:i] := ABS(a[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_abs_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask8 k, __m512i a

Param ETypes:

MASK k, SI64 a

__m512i _mm512_maskz_abs_epi64(__mmask8 k, __m512i a);

Intel Description

Compute the absolute value of packed signed 64-bit integers in “a”, and store the unsigned results in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := ABS(a[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_max_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask16 k, __m512i a, __m512i b

Param ETypes:

MASK k, SI32 a, SI32 b

__m512i _mm512_maskz_max_epi32(__mmask16 k, __m512i a,
                               __m512i b)

Intel Description

Compare packed signed 32-bit integers in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

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

_mm512_mask_max_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask8 k, __m512i a, __m512i b

Param ETypes:

UI64 src, MASK k, SI64 a, SI64 b

__m512i _mm512_mask_max_epi64(__m512i src, __mmask8 k,
                              __m512i a, __m512i b)

Intel Description

Compare packed signed 64-bit integers in “a” and “b”, and store packed maximum values 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 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_max_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask8 k, __m512i a, __m512i b

Param ETypes:

MASK k, SI64 a, SI64 b

__m512i _mm512_maskz_max_epi64(__mmask8 k, __m512i a,
                               __m512i b)

Intel Description

Compare packed signed 64-bit integers in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_max_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

SI64 a, SI64 b

__m512i _mm512_max_epi64(__m512i a, __m512i b);

Intel Description

Compare packed signed 64-bit integers in “a” and “b”, and store packed maximum values in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_maskz_max_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask16 k, __m512i a, __m512i b

Param ETypes:

MASK k, UI32 a, UI32 b

__m512i _mm512_maskz_max_epu32(__mmask16 k, __m512i a,
                               __m512i b)

Intel Description

Compare packed unsigned 32-bit integers in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

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

_mm512_mask_max_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask8 k, __m512i a, __m512i b

Param ETypes:

UI64 src, MASK k, UI64 a, UI64 b

__m512i _mm512_mask_max_epu64(__m512i src, __mmask8 k,
                              __m512i a, __m512i b)

Intel Description

Compare packed unsigned 64-bit integers in “a” and “b”, and store packed maximum values 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 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_max_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask8 k, __m512i a, __m512i b

Param ETypes:

MASK k, UI64 a, UI64 b

__m512i _mm512_maskz_max_epu64(__mmask8 k, __m512i a,
                               __m512i b)

Intel Description

Compare packed unsigned 64-bit integers in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MAX(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_max_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI64 a, UI64 b

__m512i _mm512_max_epu64(__m512i a, __m512i b);

Intel Description

Compare packed unsigned 64-bit integers in “a” and “b”, and store packed maximum values in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_maskz_min_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask16 k, __m512i a, __m512i b

Param ETypes:

MASK k, SI32 a, SI32 b

__m512i _mm512_maskz_min_epi32(__mmask16 k, __m512i a,
                               __m512i b)

Intel Description

Compare packed signed 32-bit integers in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

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

_mm512_mask_min_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask8 k, __m512i a, __m512i b

Param ETypes:

UI64 src, MASK k, SI64 a, SI64 b

__m512i _mm512_mask_min_epi64(__m512i src, __mmask8 k,
                              __m512i a, __m512i b)

Intel Description

Compare packed signed 64-bit integers in “a” and “b”, and store packed minimum values 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 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_min_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask8 k, __m512i a, __m512i b

Param ETypes:

MASK k, SI64 a, SI64 b

__m512i _mm512_maskz_min_epi64(__mmask8 k, __m512i a,
                               __m512i b)

Intel Description

Compare packed signed 64-bit integers in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_min_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

SI64 a, SI64 b

__m512i _mm512_min_epi64(__m512i a, __m512i b);

Intel Description

Compare packed signed 64-bit integers in “a” and “b”, and store packed minimum values in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_maskz_min_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask16 k, __m512i a, __m512i b

Param ETypes:

MASK k, UI32 a, UI32 b

__m512i _mm512_maskz_min_epu32(__mmask16 k, __m512i a,
                               __m512i b)

Intel Description

Compare packed unsigned 32-bit integers in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

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

_mm512_mask_min_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i src, __mmask8 k, __m512i a, __m512i b

Param ETypes:

UI64 src, MASK k, UI64 a, UI64 b

__m512i _mm512_mask_min_epu64(__m512i src, __mmask8 k,
                              __m512i a, __m512i b)

Intel Description

Compare packed unsigned 64-bit integers in “a” and “b”, and store packed minimum values 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 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := src[i+63:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_min_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__mmask8 k, __m512i a, __m512i b

Param ETypes:

MASK k, UI64 a, UI64 b

__m512i _mm512_maskz_min_epu64(__mmask8 k, __m512i a,
                               __m512i b)

Intel Description

Compare packed unsigned 64-bit integers in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set).

Intel Implementation Psudeo-Code

FOR j := 0 to 7
        i := j*64
        IF k[j]
                dst[i+63:i] := MIN(a[i+63:i], b[i+63:i])
        ELSE
                dst[i+63:i] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_min_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI64 a, UI64 b

__m512i _mm512_min_epu64(__m512i a, __m512i b);

Intel Description

Compare packed unsigned 64-bit integers in “a” and “b”, and store packed minimum values in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_mask_max_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-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_max_epi32(__m512i src, __mmask16 k,
                              __m512i a, __m512i b)

Intel Description

Compare packed signed 32-bit integers in “a” and “b”, and store packed maximum values 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 := j*32
        IF k[j]
                dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_max_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

SI32 a, SI32 b

__m512i _mm512_max_epi32(__m512i a, __m512i b);

Intel Description

Compare packed signed 32-bit integers in “a” and “b”, and store packed maximum values in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_mask_max_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-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_max_epu32(__m512i src, __mmask16 k,
                              __m512i a, __m512i b)

Intel Description

Compare packed unsigned 32-bit integers in “a” and “b”, and store packed maximum values 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 := j*32
        IF k[j]
                dst[i+31:i] := MAX(a[i+31:i], b[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_max_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI32 a, UI32 b

__m512i _mm512_max_epu32(__m512i a, __m512i b);

Intel Description

Compare packed unsigned 32-bit integers in “a” and “b”, and store packed maximum values in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_mask_min_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-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_min_epi32(__m512i src, __mmask16 k,
                              __m512i a, __m512i b)

Intel Description

Compare packed signed 32-bit integers in “a” and “b”, and store packed minimum values 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 := j*32
        IF k[j]
                dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_min_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

SI32 a, SI32 b

__m512i _mm512_min_epi32(__m512i a, __m512i b);

Intel Description

Compare packed signed 32-bit integers in “a” and “b”, and store packed minimum values in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_mask_min_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-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_min_epu32(__m512i src, __mmask16 k,
                              __m512i a, __m512i b)

Intel Description

Compare packed unsigned 32-bit integers in “a” and “b”, and store packed minimum values 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 := j*32
        IF k[j]
                dst[i+31:i] := MIN(a[i+31:i], b[i+31:i])
        ELSE
                dst[i+31:i] := src[i+31:i]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_min_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512i

Param Types:

__m512i a, __m512i b

Param ETypes:

UI32 a, UI32 b

__m512i _mm512_min_epu32(__m512i a, __m512i b);

Intel Description

Compare packed unsigned 32-bit integers in “a” and “b”, and store packed minimum values in “dst”.

Intel Implementation Psudeo-Code

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

_mm512_mask_reduce_max_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

int

Param Types:

__mmask16 k, __m512i a

Param ETypes:

MASK k, SI32 a

int _mm512_mask_reduce_max_epi32(__mmask16 k, __m512i a);

Intel Description

Reduce the packed signed 32-bit integers in “a” by maximum using mask “k”. Returns the maximum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[31:0] > src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] > src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MAX(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
        i := j*32
        IF k[j]
                tmp[i+31:i] := a[i+31:i]
        ELSE
                tmp[i+31:i] := Int32(-0x80000000)
        FI
ENDFOR
dst[31:0] := REDUCE_MAX(tmp, 16)

_mm512_mask_reduce_max_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__int64

Param Types:

__mmask8 k, __m512i a

Param ETypes:

MASK k, SI64 a

__int64 _mm512_mask_reduce_max_epi64(__mmask8 k, __m512i a);

Intel Description

Reduce the packed signed 64-bit integers in “a” by maximum using mask “k”. Returns the maximum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[63:0] > src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] > src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MAX(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
        i := j*64
        IF k[j]
                tmp[i+63:i] := a[i+63:i]
        ELSE
                tmp[i+63:i] := Int64(-0x8000000000000000)
        FI
ENDFOR
dst[63:0] := REDUCE_MAX(tmp, 8)

_mm512_mask_reduce_max_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

unsigned int

Param Types:

__mmask16 k, __m512i a

Param ETypes:

MASK k, UI32 a

unsigned int _mm512_mask_reduce_max_epu32(__mmask16 k, __m512i a);

Intel Description

Reduce the packed unsigned 32-bit integers in “a” by maximum using mask “k”. Returns the maximum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[31:0] > src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] > src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MAX(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
        i := j*32
        IF k[j]
                tmp[i+31:i] := a[i+31:i]
        ELSE
                tmp[i+31:i] := 0
        FI
ENDFOR
dst[31:0] := REDUCE_MAX(tmp, 16)

_mm512_mask_reduce_max_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

unsigned __int64

Param Types:

__mmask8 k, __m512i a

Param ETypes:

MASK k, UI64 a

unsigned __int64 _mm512_mask_reduce_max_epu64(__mmask8 k, __m512i a);

Intel Description

Reduce the packed unsigned 64-bit integers in “a” by maximum using mask “k”. Returns the maximum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[63:0] > src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] > src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MAX(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
        i := j*64
        IF k[j]
                tmp[i+63:i] := a[i+63:i]
        ELSE
                tmp[i+63:i] := 0
        FI
ENDFOR
dst[63:0] := REDUCE_MAX(tmp, 8)

_mm512_mask_reduce_max_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

double

Param Types:

__mmask8 k, __m512d a

Param ETypes:

MASK k, FP64 a

double _mm512_mask_reduce_max_pd(__mmask8 k, __m512d a);

Intel Description

Reduce the packed double-precision (64-bit) floating-point elements in “a” by maximum using mask “k”. Returns the maximum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[63:0] > src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] > src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MAX(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
        i := j*64
        IF k[j]
                tmp[i+63:i] := a[i+63:i]
        ELSE
                tmp[i+63:i] := Cast_FP64(0xFFEFFFFFFFFFFFFF)
        FI
ENDFOR
dst[63:0] := REDUCE_MAX(tmp, 8)

_mm512_mask_reduce_max_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

float

Param Types:

__mmask16 k, __m512 a

Param ETypes:

MASK k, FP32 a

float _mm512_mask_reduce_max_ps(__mmask16 k, __m512 a);

Intel Description

Reduce the packed single-precision (32-bit) floating-point elements in “a” by maximum using mask “k”. Returns the maximum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[31:0] > src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] > src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MAX(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
        i := j*32
        IF k[j]
                tmp[i+31:i] := a[i+31:i]
        ELSE
                tmp[i+31:i] := Cast_FP32(0xFF7FFFFF)
        FI
ENDFOR
dst[31:0] := REDUCE_MAX(tmp, 16)

_mm512_mask_reduce_min_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

int

Param Types:

__mmask16 k, __m512i a

Param ETypes:

MASK k, SI32 a

int _mm512_mask_reduce_min_epi32(__mmask16 k, __m512i a);

Intel Description

Reduce the packed signed 32-bit integers in “a” by maximum using mask “k”. Returns the minimum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[31:0] < src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] < src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MIN(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
        i := j*32
        IF k[j]
                tmp[i+31:i] := a[i+31:i]
        ELSE
                tmp[i+31:i] := Int32(0x7FFFFFFF)
        FI
ENDFOR
dst[31:0] := REDUCE_MIN(tmp, 16)

_mm512_mask_reduce_min_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__int64

Param Types:

__mmask8 k, __m512i a

Param ETypes:

MASK k, SI64 a

__int64 _mm512_mask_reduce_min_epi64(__mmask8 k, __m512i a);

Intel Description

Reduce the packed signed 64-bit integers in “a” by maximum using mask “k”. Returns the minimum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[63:0] < src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] < src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MIN(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
        i := j*64
        IF k[j]
                tmp[i+63:i] := a[i+63:i]
        ELSE
                tmp[i+63:i] := Int64(0x7FFFFFFFFFFFFFFF)
        FI
ENDFOR
dst[63:0] := REDUCE_MIN(tmp, 8)

_mm512_mask_reduce_min_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

unsigned int

Param Types:

__mmask16 k, __m512i a

Param ETypes:

MASK k, UI32 a

unsigned int _mm512_mask_reduce_min_epu32(__mmask16 k, __m512i a);

Intel Description

Reduce the packed unsigned 32-bit integers in “a” by maximum using mask “k”. Returns the minimum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[31:0] < src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] < src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MIN(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
        i := j*32
        IF k[j]
                tmp[i+31:i] := a[i+31:i]
        ELSE
                tmp[i+31:i] := 0xFFFFFFFF
        FI
ENDFOR
dst[31:0] := REDUCE_MIN(tmp, 16)

_mm512_mask_reduce_min_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

unsigned __int64

Param Types:

__mmask8 k, __m512i a

Param ETypes:

MASK k, UI64 a

unsigned __int64 _mm512_mask_reduce_min_epu64(__mmask8 k, __m512i a);

Intel Description

Reduce the packed unsigned 64-bit integers in “a” by minimum using mask “k”. Returns the minimum of all active elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[63:0] < src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] < src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MIN(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
        i := j*64
        IF k[j]
                tmp[i+63:i] := a[i+63:i]
        ELSE
                tmp[i+63:i] := 0xFFFFFFFFFFFFFFFF
        FI
ENDFOR
dst[63:0] := REDUCE_MIN(tmp, 8)

_mm512_mask_reduce_min_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

double

Param Types:

__mmask8 k, __m512d a

Param ETypes:

MASK k, FP64 a

double _mm512_mask_reduce_min_pd(__mmask8 k, __m512d a);

Intel Description

Reduce the packed double-precision (64-bit) floating-point elements in “a” by maximum using mask “k”. Returns the minimum of all active elements in “a”. [min_float_note]

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[63:0] < src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] < src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MIN(src[64*len-1:0], len)
}
tmp := a
FOR j := 0 to 8
        i := j*64
        IF k[j]
                tmp[i+63:i] := a[i+63:i]
        ELSE
                tmp[i+63:i] := Cast_FP64(0x7FEFFFFFFFFFFFFF)
        FI
ENDFOR
dst[63:0] := REDUCE_MIN(tmp, 8)

_mm512_mask_reduce_min_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

float

Param Types:

__mmask16 k, __m512 a

Param ETypes:

MASK k, FP32 a

float _mm512_mask_reduce_min_ps(__mmask16 k, __m512 a);

Intel Description

Reduce the packed single-precision (32-bit) floating-point elements in “a” by maximum using mask “k”. Returns the minimum of all active elements in “a”. [min_float_note]

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[31:0] < src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] < src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MIN(src[32*len-1:0], len)
}
tmp := a
FOR j := 0 to 16
        i := j*32
        IF k[j]
                tmp[i+31:i] := a[i+31:i]
        ELSE
                tmp[i+31:i] := Cast_FP32(0x7F7FFFFF)
        FI
ENDFOR
dst[31:0] := REDUCE_MIN(tmp, 16)

_mm512_reduce_max_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

int

Param Types:

__m512i a

Param ETypes:

SI32 a

int _mm512_reduce_max_epi32(__m512i a);

Intel Description

Reduce the packed signed 32-bit integers in “a” by maximum. Returns the maximum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[31:0] > src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] > src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MAX(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MAX(a, 16)

_mm512_reduce_max_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__int64

Param Types:

__m512i a

Param ETypes:

SI64 a

__int64 _mm512_reduce_max_epi64(__m512i a);

Intel Description

Reduce the packed signed 64-bit integers in “a” by maximum. Returns the maximum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[63:0] > src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] > src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MAX(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MAX(a, 8)

_mm512_reduce_max_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

unsigned int

Param Types:

__m512i a

Param ETypes:

UI32 a

unsigned int _mm512_reduce_max_epu32(__m512i a);

Intel Description

Reduce the packed unsigned 32-bit integers in “a” by maximum. Returns the maximum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[31:0] > src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] > src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MAX(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MAX(a, 16)

_mm512_reduce_max_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

unsigned __int64

Param Types:

__m512i a

Param ETypes:

UI64 a

unsigned __int64 _mm512_reduce_max_epu64(__m512i a);

Intel Description

Reduce the packed unsigned 64-bit integers in “a” by maximum. Returns the maximum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[63:0] > src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] > src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MAX(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MAX(a, 8)

_mm512_reduce_max_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

double

Param Types:

__m512d a

Param ETypes:

FP64 a

double _mm512_reduce_max_pd(__m512d a);

Intel Description

Reduce the packed double-precision (64-bit) floating-point elements in “a” by maximum. Returns the maximum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[63:0] > src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] > src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MAX(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MAX(a, 8)

_mm512_reduce_max_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

float

Param Types:

__m512 a

Param ETypes:

FP32 a

float _mm512_reduce_max_ps(__m512 a);

Intel Description

Reduce the packed single-precision (32-bit) floating-point elements in “a” by maximum. Returns the maximum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MAX(src, len) {
        IF len == 2
                RETURN (src[31:0] > src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] > src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MAX(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MAX(a, 16)

_mm512_reduce_min_epi32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

int

Param Types:

__m512i a

Param ETypes:

SI32 a

int _mm512_reduce_min_epi32(__m512i a);

Intel Description

Reduce the packed signed 32-bit integers in “a” by minimum. Returns the minimum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[31:0] < src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] < src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MIN(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MIN(a, 16)

_mm512_reduce_min_epi64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__int64

Param Types:

__m512i a

Param ETypes:

SI64 a

__int64 _mm512_reduce_min_epi64(__m512i a);

Intel Description

Reduce the packed signed 64-bit integers in “a” by minimum. Returns the minimum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[63:0] < src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] < src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MIN(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MIN(a, 8)

_mm512_reduce_min_epu32#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

unsigned int

Param Types:

__m512i a

Param ETypes:

UI32 a

unsigned int _mm512_reduce_min_epu32(__m512i a);

Intel Description

Reduce the packed unsigned 32-bit integers in “a” by minimum. Returns the minimum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[31:0] < src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] < src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MIN(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MIN(a, 16)

_mm512_reduce_min_epu64#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

unsigned __int64

Param Types:

__m512i a

Param ETypes:

UI64 a

unsigned __int64 _mm512_reduce_min_epu64(__m512i a);

Intel Description

Reduce the packed unsigned 64-bit integers in “a” by minimum. Returns the minimum of all elements in “a”.

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[63:0] < src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] < src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MIN(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MIN(a, 8)

_mm512_reduce_min_pd#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

double

Param Types:

__m512d a

Param ETypes:

FP64 a

double _mm512_reduce_min_pd(__m512d a);

Intel Description

Reduce the packed double-precision (64-bit) floating-point elements in “a” by minimum. Returns the minimum of all elements in “a”. [min_float_note]

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[63:0] < src[127:64] ? src[63:0] : src[127:64])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*64
                src[i+63:i] := (src[i+63:i] < src[i+64*len+63:i+64*len] ? src[i+63:i] : src[i+64*len+63:i+64*len])
        ENDFOR
        RETURN REDUCE_MIN(src[64*len-1:0], len)
}
dst[63:0] := REDUCE_MIN(a, 8)

_mm512_reduce_min_ps#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

float

Param Types:

__m512 a

Param ETypes:

FP32 a

float _mm512_reduce_min_ps(__m512 a);

Intel Description

Reduce the packed single-precision (32-bit) floating-point elements in “a” by minimum. Returns the minimum of all elements in “a”. [min_float_note]

Intel Implementation Psudeo-Code

DEFINE REDUCE_MIN(src, len) {
        IF len == 2
                RETURN (src[31:0] < src[63:32] ? src[31:0] : src[63:32])
        FI
        len := len / 2
        FOR j:= 0 to (len-1)
                i := j*32
                src[i+31:i] := (src[i+31:i] < src[i+32*len+31:i+32*len] ? src[i+31:i] : src[i+32*len+31:i+32*len])
        ENDFOR
        RETURN REDUCE_MIN(src[32*len-1:0], len)
}
dst[31:0] := REDUCE_MIN(a, 16)

_mm512_max_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__m512h a, __m512h b

Param ETypes:

FP16 a, FP16 b

__m512h _mm512_max_ph(__m512h a, __m512h b);

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst”. [max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        dst.fp16[j] := (a.fp16[j] > b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:512] := 0

_mm512_mask_max_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__m512h src, __mmask32 k, __m512h a, __m512h b

Param ETypes:

FP16 src, MASK k, FP16 a, FP16 b

__m512h _mm512_mask_max_ph(__m512h src, __mmask32 k,
                           __m512h a, __m512h b)

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        IF k[j]
                dst.fp16[j] := (a.fp16[j] > b.fp16[j] ? a.fp16[j] : b.fp16[j])
        ELSE
                dst.fp16[j] := src.fp16[j]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_max_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__mmask32 k, __m512h a, __m512h b

Param ETypes:

MASK k, FP16 a, FP16 b

__m512h _mm512_maskz_max_ph(__mmask32 k, __m512h a,
                            __m512h b)

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        IF k[j]
                dst.fp16[j] := (a.fp16[j] > b.fp16[j] ? a.fp16[j] : b.fp16[j])
        ELSE
                dst.fp16[j] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_max_round_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__m512h a, __m512h b, int sae

Param ETypes:

FP16 a, FP16 b, IMM sae

__m512h _mm512_max_round_ph(__m512h a, __m512h b, int sae);

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst”. [sae_note][max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        dst.fp16[j] := (a.fp16[j] > b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:512] := 0

_mm512_mask_max_round_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__m512h src, __mmask32 k, __m512h a, __m512h b, int sae

Param ETypes:

FP16 src, MASK k, FP16 a, FP16 b, IMM sae

__m512h _mm512_mask_max_round_ph(__m512h src, __mmask32 k,
                                 __m512h a, __m512h b,
                                 int sae)

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [sae_note][max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        IF k[j]
                dst.fp16[j] := (a.fp16[j] > b.fp16[j] ? a.fp16[j] : b.fp16[j])
        ELSE
                dst.fp16[j] := src.fp16[j]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_max_round_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__mmask32 k, __m512h a, __m512h b, int sae

Param ETypes:

MASK k, FP16 a, FP16 b, IMM sae

__m512h _mm512_maskz_max_round_ph(__mmask32 k, __m512h a,
                                  __m512h b, int sae)

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed maximum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [sae_note][max_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        IF k[j]
                dst.fp16[j] := (a.fp16[j] > b.fp16[j] ? a.fp16[j] : b.fp16[j])
        ELSE
                dst.fp16[j] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_min_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__m512h a, __m512h b

Param ETypes:

FP16 a, FP16 b

__m512h _mm512_min_ph(__m512h a, __m512h b);

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst”. [min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        dst.fp16[j] := (a.fp16[j] < b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:512] := 0

_mm512_mask_min_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__m512h src, __mmask32 k, __m512h a, __m512h b

Param ETypes:

FP16 src, MASK k, FP16 a, FP16 b

__m512h _mm512_mask_min_ph(__m512h src, __mmask32 k,
                           __m512h a, __m512h b)

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        IF k[j]
                dst.fp16[j] := (a.fp16[j] < b.fp16[j] ? a.fp16[j] : b.fp16[j])
        ELSE
                dst.fp16[j] := src.fp16[j]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_min_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__mmask32 k, __m512h a, __m512h b

Param ETypes:

MASK k, FP16 a, FP16 b

__m512h _mm512_maskz_min_ph(__mmask32 k, __m512h a,                            __m512h b)

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        IF k[j]
                dst.fp16[j] := (a.fp16[j] < b.fp16[j] ? a.fp16[j] : b.fp16[j])
        ELSE
                dst.fp16[j] := 0
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_min_round_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__m512h a, __m512h b, int sae

Param ETypes:

FP16 a, FP16 b, IMM sae

__m512h _mm512_min_round_ph(__m512h a, __m512h b, int sae);

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst”. [sae_note] [min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        dst.fp16[j] := (a.fp16[j] < b.fp16[j] ? a.fp16[j] : b.fp16[j])
ENDFOR
dst[MAX:512] := 0

_mm512_mask_min_round_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__m512h src, __mmask32 k, __m512h a, __m512h b, int sae

Param ETypes:

FP16 src, MASK k, FP16 a, FP16 b, IMM sae

__m512h _mm512_mask_min_round_ph(__m512h src, __mmask32 k,
                                 __m512h a, __m512h b,
                                 int sae)

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using writemask “k” (elements are copied from “src” when the corresponding mask bit is not set). [sae_note][min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        IF k[j]
                dst.fp16[j] := (a.fp16[j] < b.fp16[j] ? a.fp16[j] : b.fp16[j])
        ELSE
                dst.fp16[j] := src.fp16[j]
        FI
ENDFOR
dst[MAX:512] := 0

_mm512_maskz_min_round_ph#

Tech:

AVX-512

Category:

Special Math Functions

Header:

immintrin.h

Searchable:

AVX-512-Special Math Functions-ZMM

Register:

ZMM 512 bit

Return Type:

__m512h

Param Types:

__mmask32 k, __m512h a, __m512h b, int sae

Param ETypes:

MASK k, FP16 a, FP16 b, IMM sae

__m512h _mm512_maskz_min_round_ph(__mmask32 k, __m512h a,
                                  __m512h b, int sae)

Intel Description

Compare packed half-precision (16-bit) floating-point elements in “a” and “b”, and store packed minimum values in “dst” using zeromask “k” (elements are zeroed out when the corresponding mask bit is not set). [sae_note][min_float_note]

Intel Implementation Psudeo-Code

FOR j := 0 to 31
        IF k[j]
                dst.fp16[j] := (a.fp16[j] < b.fp16[j] ? a.fp16[j] : b.fp16[j])
        ELSE
                dst.fp16[j] := 0
        FI
ENDFOR
dst[MAX:512] := 0