SSE4 (Streaming SIMD Extensions 4) - це набірSIMD-інструкцій для процесорів архітектури x86-64. Набір інструкцій було анонсовано були 27 вересня 2006 року. Самі інструкції були реалізовані в процесорахIntel Core таAMD K10. В SSE4 налічується 54 інструкцій[1], розділених на дві основні категорії: векторизація операцій для прискорення роботи з медіа, та для обробки тексту.
Intel використовувала маркетингову назвуHD Boost для інструкцій SSE4.[2]
SSE4 Складається з 54 інструкцій. З них 47 відносять до SSE4.1, вони були реалізовані в мікрокархітектуріPeryn, а решта 7 команд (SSE4.2) з'явились лише в процесорах з мікроархитектуроюNehalem.
В AMD процесорах набір інструкцій називається SSE4a, був реалізований в процесорах мікроархітектури Barcelona. Він містить в собі 4 інструкції що відсутні у наборі SSE4.1 від intel. Повний набір інструкцій SSE4 (SSE4.1+SSE4.2) лише в процесорах FX на базі мікроархітектури Bulldozer.
MPSADBW Multiple Packed Sums of Absolute Difference. Рахує суму абсолютних різниць восьми значень, по чотири суми за раз (тобто |x0−y0|+|x1−y1|+|x2−y2|+|x3−y3|, |x0−y1|+|x1−y2|+|x2−y3|+|x3−y4|, ..., |x0−y7|+|x1−y8|+|x2−y9|+|x3−y10|). Така операція важлива при роботі деяких HD кодеків,і дозволяє обробити блок зображення 8х8 за декілька циклів процесора.PHMINPOSUW Packed Horizontal Word Minimum пошук серед 16 бітових беззнакових цілих, такого що має мінімальне значення.PMULDQ Multiply Packed Signed Dword Integers Множення 32 бітових знакових цілих та повертає результат в 64бітове ціле.PMULLD Multiply Packed Signed Dword Integers and Store Low Result. Множення 32-бітових знакових цілих та повертає в результат молодшу 32бітну частину.DPPS,DPPD Dot Product of Packed Single/Double Precision Floating-Point Values - скалярне множення 32 та 64 бітових цілих.PMINSB,PMAXSB,PMINUW,PMAXUW,PMINUD,PMAXUD,PMINSD,PMAXSD - мінімум,максимум для різних типів.ROUNDPS,ROUNDSS,ROUNDPD,ROUNDSD - округлення числа з рухомою комою в ціле.PMOVSXBW,PMOVZXBW,PMOVSXBD,PMOVZXBD,PMOVSXBQ,PMOVZXBQ,PMOVSXWD,PMOVZXWD,PMOVSXWQ,PMOVZXWQ,PMOVSXDQ,PMOVZXDQ Packed Move with Sign/Zero ExtendPTEST Logical ComparePCMPEQQ Compare Packed Qword Data for Equal порівняння 64 бітових значень на рівність та повернення 64бітових масокPACKUSDW Pack with Unsigned Saturation Пакування 32бітних знакових цілих в 16бітні беззнакові з насиченням (буде обрізано до максимального значення - 65536).MOVNTDQA Load Double Quadword Non-Temporal Aligned Hint - інструкція для ефективного читання даних в SSE-регістр.Інструкції для порівняння рядків:
PCMPESTRI Packed Compare Explicit Length Strings, Return IndexPCMPESTRM Packed Compare Explicit Length Strings, Return MaskPCMPISTRI Packed Compare Implicit Length Strings, Return Index Порівнюють дані як .PCMPISTRM Packed Compare Implicit Length Strings, Return MaskPCMPGTQ - Порівняння спакованого набору 64бітових даних на "більше ніж"POPCNT - Рахує кількість бітів що дорівнюють одиниці.LZCNT - рахує кількістьпровідних нулів.EXTRQ/INSERTQMOVNTSD/MOVNTSS