Supplerende Streaming SIMD Extension 3 ( SSSE3 ) er betegnelsen givet af Intel til den fjerde instruktionssætudvidelse. Den forrige var SSE3 , og Intel tilføjede endnu et 'S' i stedet for at øge lokalnummeret, måske fordi de anså SSSE3 for at være en simpel tilføjelse til SSE3. Ofte, før den officielle betegnelse SSSE3 blev brugt, blev disse nye kommandoer kaldt SSE4. De fik også kodenavnet Tejas New Instructions (TNI) og Merom New Instructions (MNI) efter de processorer, hvor Intel først havde til hensigt at understøtte disse nye instruktioner. SSSE3, som er introduceret i Intel Core Microarchitecture, er tilgængelig i Xeon 5100-serien af processorer (server- og workstation-versioner), samt Intel Core 2-processorer (notebook- og desktop-versioner) og Intel Atom.
Nyt i SSSE3 sammenlignet med SSE3 er 16 unikke pakkede heltalskommandoer. Hver af dem kan arbejde med både 64-bit (MMX) og 128-bit (XMM) registre, så Intel henviser til 32 nye kommandoer i sine materialer.
Hvert resultatfelt er den absolutte værdi af det tilsvarende felt fra src1. Faktisk er det de samme operationer PSIGNB, PSIGNH, PSIGNW, som begge har det samme register.
Hvert resultatfelt er produktet af feltet i src1 gange {-1,0,1} afhængigt af tegnet for det tilsvarende felt i src2 (multipliceres med 0, når feltet i src2 er nul).
De to registre i operanden behandles som én mellemværdi uden fortegn på to gange størrelsen, hvorfra 64-/128-bit værdien udtrækkes fra den byte, der er angivet i kommandoens direkte konstante argument.
Byte-permutation, hver resultatbyte er en byte fra det første argument, bestemt af den tilsvarende byte fra det andet argument (hvis byten er negativ, skrives nul ind i resultatbyten, ellers bruges de lave 3 eller 4 bits som bytenummer i det første argument).
Argumenterne A og B behandles som vektorer af 16-bit fortegnsfastpunktstal repræsenteret i området [-1,+1) (dvs. 0x4000 er 0,5 og 0xa000 er -0,75 osv.), der multipliceres med hinanden med korrekte afrunding.
En byte-for-byte multiplikation af vektorerne A og B udføres, mellemliggende 16-bit resultater tilføjes parvis med mætning og gives som et resultat.
Vandret subtraktion af heltal 16/32-bit felter.
Vandret subtraktion af heltal 16-bit felter med mætning.
Horisontal tilføjelse af heltal 16/32-bit felter.
Horisontal tilføjelse af heltal 16-bit felter med mætning.
x86 processor instruktionssæt | |
---|---|
Intel | |
AMD | |
Cyrix |