_mm512_permute4f128_ps
Classification
KNC, Store, CPUID Test: KNCNI
Header File
Instruction
VPERMF32X4 zmm, m512, imm8
Synopsis
_mm512_permute4f128_ps(__m512 a, _MM_PERM_ENUM imm8);
Description
Permutes 128-bit blocks of the packed single-precision (32-bit) floating-point elements in "a" using constant "imm8". The results are stored in "dst".
Operation
DEFINE SELECT4(src, control) {
CASE control[1:0] OF
0: tmp[127:0] := src[127:0]
1: tmp[127:0] := src[255:128]
2: tmp[127:0] := src[383:256]
3: tmp[127:0] := src[511:384]
ESAC
RETURN tmp[127:0]
}
FOR j := 0 to 3
i := j*128
n := j*2
dst[i+127:i] := SELECT4(a[511:0], imm8[n+1:n])
ENDFOR
dst[MAX:512] := 0