_mm512_maskz_extractf32x4_ps
Classification
AVX-512, Swizzle, CPUID Test: AVX512F
Header File
immintrin.h
Instruction
VEXTRACTF32X4 xmm {z}, zmm, imm8
Synopsis
 _mm512_maskz_extractf32x4_ps(__mmask8 k, __m512 a, int imm8);
Description
Extract 128 bits (composed of 4 packed single-precision (32-bit) floating-point elements) from "a", selected with "imm8", and store the results in "dst" using zeromask "k" (elements are zeroed out when the corresponding mask bit is not set).
Operation
CASE imm8[1:0] OF
0: tmp[127:0] := a[127:0]
1: tmp[127:0] := a[255:128]
2: tmp[127:0] := a[383:256]
3: tmp[127:0] := a[511:384]
ESAC
FOR j := 0 to 3
	i := j*32
	IF k[j]
		dst[i+31:i] := tmp[i+31:i]
	ELSE
		dst[i+31:i] := 0
	FI
ENDFOR
dst[MAX:128] := 0