Streaming SIMD Extensions 3
Die Streaming SIMD Extensions 3 (kurz SSE3) ist die zweite Erweiterung des SSE-Befehlssatzes. Sie ist auch unter dem Intel-Codenamen Prescott New Instructions (PNI) bekannt, da sie zuerst bei der Prescott-Variante des Pentium 4 ab Frühjahr 2004 verwendet wurde. AMD unterstützt diese Erweiterungen seit April 2005 und führte diese mit den E-Steppings beim Athlon 64, Opteron und Sempron ein. VIA bzw. Centaur unterstützen mit dem C7 ebenfalls die neuen Befehle.
SSE3 ist eine erneute Erweiterung des SIMD-Befehlssatzes für die x86-Architektur (genauer die IA-32-Prozessorarchitektur). Die vorherigen Erweiterungen waren MMX, 3DNow, SSE und SSE2.
SSE3 erweitert den SSE2-Befehlssatz um 13 neue Instruktionen:
- fisttp zur Wandelung von Gleitkommazahlen in ganze Zahlen
- addsubps, addsubpd, movsldup, movshdup, movddup für komplexe Arithmetik
- lddqu zur Video-Kodierung
- haddps, hsubps, haddpd, hsubpd zur Unterstützung der Grafik-Aufbereitung
- monitor, mwait zur Thread-Kommunikation
Die Unterstützung der letzten beiden Befehle muss mittels CPUID-Instruktion explizit geprüft werden, da sie Mehrkernprozessoren bzw. Hyper-Threading fähige CPUs voraussetzen.
Die auffälligste Erweiterung ist die Ermöglichung von horizontaler Addition und Subtraktion in einem Register, die schon bei 3DNow möglich war. Dies vereinfacht die Programmierung von DSP- und 3D-Funktionen, während in den vorhergehenden SSE-Versionen mehr oder weniger nur vertikale Operationen möglich waren.