Asembler x86/Instrukcje/SSSE3/PSIGNx
Wygląd
PSIGBN, PSIGNW, PSIGND działają — odpowiednio — na wektorach bajtów, słów bądź podwójnych słów ze znakiem, zmieniając znaki tych elementów w argumencie docelowym, dla których odpowiadające im elementy argumentu źródłowego są ujemne.
Np. rozkaz PSIGNW xmm1, xmm2 wykonuje:
for i:=0 to 7 do
if xmm2[i] < 0 then
xmm1[i] := - xmm1[i];
albo zapisując z wykorzystaniem funkcji signum:
for i:=0 to 7 do
xmm[i] := xmm1[i] * SIGN(xmm2[i]);