Przejdź do zawartości

Asembler x86/Instrukcje/SSSE3/PHSUBx

Z Wikibooks, biblioteki wolnych podręczników.

PHSUBW i PHSUBD działają podobnie do PHADDx, z tą różnicą, że odejmują sąsiednie elementy; od elementu o indeksie parzystym odejmowany jest element o indeksie parzystym. Rozkaz PHSUBSW wykonuje to samo działanie co PHSUBW, z tym, że wyniki odejmowania są nasycane.

Np. rozkazowi PHSUBW xmm1, xmm2 odpowiada:

  for i:=0 to 3 do
   begin
     temp[i]   := xmm1[2*i] - xmm1[2*i+1];
     temp[i+4] := xmm2[2*i] - xmm2[2*i+1];
   end;