SSE3

SSE3 (PNI — Prescott New Instruction) — третья версия SIMD-расширения Intel, потомок SSE, SSE2 и MMX. Впервые представлено 2 февраля 2004 года в ядре Prescott процессора Pentium 4. В 2005 AMD предложила свою реализацию SSE3 для процессоров Athlon 64 (ядра Venice, San Diego и Newark).

Набор SSE3 содержит 13 инструкций: FISTTP (x87), MOVSLDUP (SSE), MOVSHDUP (SSE), MOVDDUP (SSE2), LDDQU (SSE/SSE2), ADDSUBPD (SSE), ADDSUBPD (SSE2), HADDPS (SSE), HSUBPS (SSE), HADDPD (SSE2), HSUBPD (SSE2), MONITOR (нет аналога в SSE3 для AMD), MWAIT (нет аналога в SSE3 для AMD).

Наиболее заметное изменение — возможность горизонтальной работы с регистрами. Если говорить более конкретно, добавлены команды сложения и вычитания нескольких значений, хранящихся в одном регистре. Эти команды упростили ряд DSP- и 3D-операций. Существует также новая команда для преобразования значений с плавающей точкой в целые без необходимости вносить изменения в глобальном режиме округления.


Google Chrome начиная с версии 89 требует наличия этих инструкций.

Инструкции SSE3

  • ADDSUBPD (Add Subtract Packed Double).
  • ADDSUBPS (Add Subtract Packed Single).
  • HADDPD (Horizontal Add Packed Double).
  • HADDPS (Horizontal Add Packed Single).
  • HSUBPD (Horizontal Subtract Packed Double).
  • HSUBPS (Horizontal Subtract Packed Single).
  • FISTTP — преобразование вещественного числа в целое с сохранением целочисленного значения и округлением в сторону нуля.
  • LDDQU — загрузка 128bit невыровненных данных из памяти в регистр xmm, с предотвращением пересечения границы строки кеша.

Процессоры с поддержкой SSE3

См. также

Ссылки

  • Define SSE2, SSE3 and SSE4
  • Overview: Intel® Streaming SIMD Extensions 3 (Intel® SSE3)