AVX
1.
VPERMILPD — Permute Double-Precision Floating-Point Values
VPERMILPD xmm1, xmm2,xmm3/m128
floating-point values in
xmm2 using controls from
xmm3/mem and store result
in xmm1.
从imm8或者是xmm3寄存器中,选取src或者dest.
类似于shuffle
2.VPERM2F128 — Permute Floating-Point Values
VPERM2F128
CASE IMM8[1:0] of
0: DEST[127:0] SRC1[127:0]
1: DEST[127:0] SRC1[255:128]
2: DEST[127:0] SRC2[127:0]
3: DEST[127:0] SRC2[255:128]
ESAC
CASE IMM8[5:4] of
0: DEST[255:128] SRC1[127:0]
1: DEST[255:128] SRC1[255:128]
2: DEST[255:128] SRC2[127:0]
3: DEST[255:128] SRC2[255:128]
ESAC
IF (imm8[3])
DEST[127:0] 0
FI
IF (imm8[7])
DEST[VLMAX-1:128] 0
F