UNPCKLPS, UNPCKHPS Rozkazy ustawia na przemian 2 elementy z obu wektorów. UNPCKLPS bierze dwa młodsze elementy (tj. o indeksach 0 i 1), natomiast UNPCKHPS dwa starsze (indeksy 2 i 3). Rozkaz UNPCKLPS xmm1, xmm2 wykonuje:
temp := xmm1 temp := xmm2 temp := xmm1 temp := xmm2 xmm1 := temp
zaś UNPCKHPS xmm1, xmm2
temp := xmm1 temp := xmm2 temp := xmm1 temp := xmm2 xmm1 := temp
Np. 3 2 1 0 +-----+-----+-----+-----+ xmm1 = | d | c | b | a | +-----+-----+-----+-----+
+-----+-----+-----+-----+ xmm2 = | h | g | f | e | +-----+-----+-----+-----+
Wynik UNPCKLPS:
+-----+-----+-----+-----+ xmm1 = | f | b | e | a | +-----+-----+-----+-----+
Wynik UNPCKHPS:
+-----+-----+-----+-----+ xmm1 = | h | d | g | c | +-----+-----+-----+-----+
SHUFPS Rozkaz bardziej ogólny niż UNPCKxPS, umożliwia wskazanie dowolnych indeksów z wektorów źródłowych za pomocą trzeciego argumentu (stałej natychmiastowej), w którym na każdych kolejnych dwóch bitach zapisane są 4 indeksy. Rozkazowi SHUFPS xmm1, xmm2, imm8 odpowiada: