A.5.293 SHUFPS: Shuffle Packed Single-Precision FP Values
SHUFPS xmm1,xmm2/m128,imm8 ; 0F C6 /r ib [KATMAI,SSE]
SHUFPS moves two of the packed single-precision FP values from the
destination operand into the low quadword of the destination operand;
the upper quadword is generated by moving two of the single-precision
FP values from the source operand into the destination. The select
(third) operand selects which of the values are moved to the destination
register.
The select operand is an 8-bit immediate: bits 0 and 1 select the value
to be moved from the destination operand the low doubleword of the
result, bits 2 and 3 select the value to be moved from the destination
operand the second doubleword of the result, bits 4 and 5 select the
value to be moved from the source operand the third doubleword of the
result, and bits 6 and 7 select the value to be moved from the source
operand to the high doubleword of the result.