Developer Guide and Reference

Contents

Intrinsics for FP Gather and Scatter Operations

The prototypes for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) intrinsics are located in the
zmmintrin.h
header file.
To use these intrinsics, include the
immintrin.h
file as follows:
#include <immintrin.h>
Intrinsic Name
Operation
Corresponding
Intel® AVX-512 Instruction
_mm512_i32gather_pd
,
_mm512_mask_i32gather_pd
Gathers double-precision (64-bit) floating-point elements from memory with 32-bit integer indices.
VGATHERDPD
_mm512_i32gather_ps
,
_mm512_mask_i32gather_ps
Gathers single-precision (32-bit) vector elements from memory with 32-bit integer indices.
VGATHERDPS
_mm512_i32extgather_ps
,
_mm512_mask_i32extgather_ps
Up-converts single-precision (32-bit) floating-point elements from memory with 32-bit integer indices.
VGATHERDPS
_mm512_i64gather_pd
,
_mm512_mask_i64gather_pd
Gathers double-precision (64-bit) floating-point elements from memory with 64-bit integer indices.
VGATHERQPD
_mm512_i64gather_ps
,
_mm512_mask_i64gather_ps
Gathers single-precision (32-bit) vector elements from memory with 64-bit integer indices.
VGATHERQPS
_mm512_prefetch_i32gather_pd
,
_mm512_mask_prefetch_i32gather_pd
Gathers prefetch double-precision (64-bit) floating-point elements with 32-bit integer indices.
VGATHERPF0DPD
,
VGATHERPF1DPD
_mm512_prefetch_i32gather_ps
,
_mm512_mask_prefetch_i32gather_ps
Gathers prefetch double-precision (64-bit) floating-point elements with 32-bit integer indices.
VGATHERPF0DPS
,
VGATHERPF1DPS
_mm512_prefetch_i64gather_pd
,
_mm512_mask_prefetch_i64gather_pd
Gathers prefetch double-precision (64-bit) floating-point elements with 64-bit integer indices.
VGATHERPF0QPD
,
VGATHERPF1QPD
_mm512_prefetch_i64gather_ps
,
_mm512_mask_prefetch_i64gather_ps
Gathers prefetch double-precision (64-bit) floating-point elements with 64-bit integer indices.
VGATHERPF0QPS
,
VGATHERPF1QPS
_mm512_i32scatter_pd
,
_mm512_mask_i32scatter_pd
Scatters double-precision (64-bit) floating-point elements from memory with 32-bit integer indices.
VSCATTERDPD
_mm512_i32scatter_ps
,
_mm512_mask_i32scatter_ps
Scatters single-precision (32-bit) floating-point elements from memory with 32-bit integer indices.
VSCATTERDPD
_mm512_i32extscatter_ps
,
_mm512_mask_i32extscatter_ps
Down-converts single-precision (32-bit) floating-point elements from memory with 32-bit integer indices.
VSCATTERDPS
_mm512_i64scatter_pd
,
_mm512_mask_i64scatter_pd
Scatters double-precision (64-bit) floating-point elements from memory with 64-bit integer indices.
VSCATTERQPD
_mm512_i64scatter_ps
,
_mm512_mask_i64scatter_ps
Scatters single-precision (32-bit) floating-point elements from memory with 64-bit integer indices.
VSCATTERQPS
_mm512_prefetch_i32scatter_pd
,
_mm512_mask_prefetch_i32scatter_pd
Scatters prefetch double-precision (64-bit) floating-point elements with 32-bit integer indices.
VSCATTERPF0DPD
,
VSCATTERPF1DPD
_mm512_prefetch_i32scatter_ps
,
_mm512_mask_prefetch_i32scatter_ps
Scatters prefetch double-precision (64-bit) floating-point elements with 32-bit integer indices.
VSCATTERPF0DPS
,
VSCATTERPF1DPS
_mm512_prefetch_i64scatter_pd
,
_mm512_mask_prefetch_i64scatter_pd
Scatters prefetch double-precision (64-bit) floating-point elements with 64-bit integer indices.
VSCATTERPF0QPD
,
VSCATTERPF1QPD
_mm512_prefetch_i64scatter_ps
,
_mm512_mask_prefetch_i64scatter_ps
Scatters prefetch double-precision (64-bit) floating-point elements with 64-bit integer indices.
VSCATTERPF0QPS
,