Asembler x86/Instrukcje/SSE4/BLENDP: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
m przeniesiony z Wikipedii
m przeniesiony z Wikipedii
Linia 1:
'''BLENDVPS''', '''BLENDVPD''' działają na wektorach — odpowiednio — liczb zmiennoprzecinkowych pojedynczej oraz podwójnej precyzji. Wykonują dokładnie to samo działanie, co inne wymienione wcześniej rozkazy {{linkinstr_x86|BLENDPx}}, różnica polega na sposobie zapisu maski bitowej. Rozkazy <tt>BLENVPx</tt> jako '''domyślny''' argument przyjmują rejestr <tt>XMM0</tt>, a o tym, czy dany element ma zostać przepisany, decydują '''najstarsze''' bity kolejnych słów <tt>XMM0</tt>.
'''PBLENDW''' działaj na wektorach słów 16--bitowych. Nadpisuje w wektorze docelowym tylko te elementy z wektora źródłowego, dla których odpowiadające im bity w masce bitowe są ustawione. Maska bitowa jest trzecim argumentem rozkazów, 8-bitową stałą natychmiastową.
 
RozkazowiNp. rozkazowi <tt>PBLENDWBLENDVPS xmm1, xmm2, imm8</tt> odpowiada:
 
for i:=0 to 73 do
if imm8(XMM0[i] AND 0x80000000) = 10x80000000 then { najstarszy bit 32-bitowego słowa ustawiony? }
xmm1[i] := xmm2[i]