1.
SHUFPD—Shuffle Packed Double-Precision Floating-Point Values
SHUFPD xmm1, xmm2/m128, imm8
IF IMM0[0] = 0THEN DEST[63:0] SRC1[63:0]
ELSE DEST[63:0] SRC1[127:64] FI;
IF IMM0[1] = 0
THEN DEST[127:64] SRC2[63:0]
Figure 4-15. SHUFPD Shuffle Operation
X1 X0
Y1 Y0
Y1 or Y0 X1 or X0
SRC
DEST
DEST
4-386 Vol. 2B SHUFPD—Shuffle Packed Double-Precision Floating-Point Values
INSTRUCTION SET REFERENCE, N-Z
ELSE DEST[127:64] SRC2[127:64] FI;
DEST[VLMAX-1:128] (Unmodified)
2. SHUFPS—Shuffle Packed Single-Precision Floating-Point Values
m3.m=_mm_shuffle_ps(m2.m,m2.m,(0<<6)|(1<<4)|(2<<2)|3);//p[ii-1]~p[ii-4]
1,2,3,4, -> 4.3,2,1
3.
3.