Supplemental Streaming SIMD Extension 3 ( SSSE3 ) är beteckningen som Intel ger till den fjärde instruktionsuppsättningen. Den tidigare var SSE3 , och Intel lade till ett annat 'S' istället för att öka anknytningsnumret, kanske för att de ansåg att SSSE3 var ett enkelt tillägg till SSE3. Ofta, innan den officiella beteckningen SSSE3 användes, kallades dessa nya kommandon SSE4. De fick också kodnamnet Tejas New Instructions (TNI) och Merom New Instructions (MNI) efter de processorer där Intel först tänkte stödja dessa nya instruktioner. Introducerad i Intel Core Microarchitecture, SSSE3 är tillgänglig i Xeon -processorserien5100 (server- och arbetsstationsversioner), samt i Intel Core 2 (notebook- och stationära versioner) och Intel Atom-processorer.
Nytt i SSSE3, jämfört med SSE3, är 16 unika paketerade heltalsinstruktioner. Var och en av dem kan fungera med både 64-bitars (MMX) och 128-bitars (XMM) register, så Intel hänvisar till 32 nya kommandon i sitt material.
Varje resultatfält är det absoluta värdet för motsvarande fält från src1. I själva verket är det samma operationer PSIGNB, PSIGNH, PSIGNW, som båda har samma register.
Varje resultatfält är produkten av fältet i src1 gånger {-1,0,1} beroende på tecknet för motsvarande fält i src2 (multiplicera med 0 när fältet i src2 är noll).
De två registren i operanden behandlas som ett osignerat mellanvärde av dubbelt så stort, från vilket 64-/128-bitarsvärdet extraheras med början från den byte som anges i kommandots direkta konstanta argument.
Bytepermutation, varje resultatbyte är någon byte från det första argumentet, bestämt av motsvarande byte från det andra argumentet (om byten är negativ skrivs noll in i resultatbyten, annars används de låga 3 eller 4 bitarna som bytenummer i det första argumentet).
Argument A och B behandlas som vektorer av 16-bitars förtecknade fastpunktstal representerade i intervallet [-1,+1) (dvs. 0x4000 är 0,5 och 0xa000 är -0,75, etc.) som multipliceras med varandra med korrekta avrundning.
En byte-för-byte multiplikation av vektorerna A och B utförs, mellanliggande 16-bitars resultat adderas i par med mättnad och ges som ett resultat.
Horisontell subtraktion av heltals 16/32-bitars fält.
Horisontell subtraktion av heltals 16-bitars fält med mättnad.
Horisontell addition av heltals 16/32-bitarsfält.
Horisontell addition av heltals 16-bitars fält med mättnad.
x86-processorinstruktionsuppsättningar | |
---|---|
Intel | |
AMD | |
Cyrix |