=== Floating point instructions ===* Memory-to-register/register-to-memory/register-to-register data movement** Scalar– MOVSS** Packed – MOVAPS, MOVUPS, MOVLPS, MOVHPS, MOVLHPS, MOVHLPS* Arithmetic** Scalar – ADDSS, SUBSS, MULSS, DIVSS, RCPSS, SQRTSS, MAXSS, MINSS, RSQRTSS** Packed – ADDPS, SUBPS, MULPS, DIVPS, RCPPS, SQRTPS, MAXPS, MINPS, RSQRTPS* Compare** Scalar – CMPSS, COMISS, UCOMISS** Packed – CMPPS* Data shuffle and unpacking** Packed – SHUFPS, UNPCKHPS, UNPCKLPS* Data-type conversion** Scalar – CVTSI2SS, CVTSS2SI, CVTTSS2SI** Packed – CVTPI2PS, CVTPS2PI, CVTTPS2PI* Bitwise logical operations** Packed – ANDPS, ORPS, XORPS, ANDNPS=== Integer instructions ===* Arithmetic** PMULHUW, PSADBW, PAVGB, PAVGW, PMAXUB, PMINUB, PMAXSW, PMINSW* Data movement** PEXTRW, PINSRW* Other** PMOVMSKB, PSHUFW=== Other instructions ===* MXCSR management** LDMXCSR, STMXCSR* Cache and Memory management** MOVNTQ, MOVNTPS, MASKMOVQ, PREFETCH0, PREFETCH1, PREFETCH2, PREFETCHNTA, SFENCE==Example==The following simple example demonstrates the advantage of using SSE.
== SSE-команды ==** Скалярные типы – MOVSS** Упакованные типы – MOVAPS, MOVUPS, MOVLPS, MOVHPS, MOVLHPS, MOVHLPS** Скалярные типы – ADDSS, SUBSS, MULSS, DIVSS, RCPSS, SQRTSS, MAXSS, MINSS, RSQRTSS** Упакованные типы – ADDPS, SUBPS, MULPS, DIVPS, RCPPS, SQRTPS, MAXPS, MINPS, RSQRTPS** Скалярные типы – CMPSS, COMISS, UCOMISS** Упакованные типы – CMPPS** Упакованные типы – SHUFPS, UNPCKHPS, UNPCKLPS** Скалярные типы – CVTSI2SS, CVTSS2SI, CVTTSS2SI** Упакованные типы – CVTPI2PS, CVTPS2PI, CVTTPS2PI** Упакованные типы – ANDPS, ORPS, XORPS, ANDNPS** PMULHUW, PSADBW, PAVGB, PAVGW, PMAXUB, PMINUB, PMAXSW, PMINSW** PEXTRW, PINSRW** PMOVMSKB, PSHUFW* Работа с регистром MXCSR** LDMXCSR, STMXCSR** MOVNTQ, MOVNTPS, MASKMOVQ, PREFETCH0, PREFETCH1, PREFETCH2, PREFETCHNTA, SFENCEСледующий пример демонстрирует перемножение четырёх пар чисел с плавающей точкой одной инструкцией mulps:(Программа написана на языке ANSI C++ с использованием ассемблерной вставки __asm и инструкций ассемблера для работы с SSE, аргументы записаны согласно стандарту Intel, а не AT&T)Тот же пример, но ассемблерная вставка asm выполнена в стандарте AT&T (GNU Assembler)== См.