F16C - F16C

В F16C[1] (ранее / неофициально известный как CVT16) набор инструкций x86 архитектура набора команд расширение, которое обеспечивает поддержку преобразования между половинная точность и стандарт IEEE форматы с плавающей запятой одинарной точности.

История

Набор команд CVT16, объявленный AMD 1 мая 2009 г., является расширением 128-битной SSE основные инструкции в x86 и AMD64 Набор инструкций.

CVT16 - это доработка части SSE5 предложение по набору инструкций, объявленное 30 августа 2007 г., дополнено XOP и FMA4 наборы инструкций. Эта редакция делает двоичное кодирование предлагаемых новых инструкций более совместимым с Intel с AVX расширения инструкций, при этом функциональность инструкций не изменилась.

В последних документах название F16C формально используется как в Intel и AMD x86-64 спецификации архитектуры.

Техническая информация

Есть варианты, которые преобразуют четыре значения с плавающей запятой в Регистр XMM или 8 значений с плавающей запятой в Регистр YMM.

Инструкции представляют собой аббревиатуры для «векторного преобразования упакованной половины в упакованную единичную» и наоборот:

  • VCVTPH2PS xmmreg, xmmrm64 - преобразовать четыре значения с плавающей запятой половинной точности в памяти или нижнюю половину регистра XMM в четыре значения с плавающей запятой одинарной точности в регистре XMM.
  • VCVTPH2PS ymmreg, xmmrm128 - преобразовать восемь значений с плавающей запятой половинной точности в памяти или регистре XMM (нижняя половина регистра YMM) в восемь значений с плавающей запятой одинарной точности в регистре YMM.
  • VCVTPS2PH xmmrm64, xmmreg, imm8 - преобразовать четыре значения с плавающей запятой одинарной точности в регистре XMM в значения с плавающей запятой половинной точности в памяти или в нижнюю половину регистра XMM.
  • VCVTPS2PH xmmrm128, ymmreg, imm8 - преобразовать восемь значений с плавающей запятой одинарной точности в регистре YMM в значения с плавающей запятой половинной точности в памяти или регистре XMM.

8-битный непосредственный аргумент для VCVTPS2PH выбирает округление режим. Значения 0–4 выбирают ближайший, вниз, вверх, усекать и режим, установленный в MXCSR.RC.

Поддержка этих инструкций обозначается битом 29 ECX после CPUID с EAX = 1.

Процессоры с F16C

Рекомендации

  1. ^ Чак Уолборн (11 сентября 2012 г.). «DirectXMath: F16C и FMA».
  2. ^ Дэйв Кристи (2007-05-07), Достижение баланса, Блоги разработчиков AMD, заархивированные с оригинал на 2013-11-09, получено 2012-01-17
  3. ^ Новые инструкции "Бульдозер" и "Пиледривер" (PDF), AMD, октябрь 2012 г.

внешняя ссылка

  • Новые инструкции по эксплуатации бульдозера и погрузчика [1]
  • Математика DirectX F16C и FMA [2]
  • Руководство программиста по архитектуре AMD64, том 1 [3]
  • Руководство программиста по архитектуре AMD64, том 2 [4]
  • Руководство программиста по архитектуре AMD64, том 3 [5]
  • Руководство программиста по архитектуре AMD64, том 4 [6]
  • Руководство программиста по архитектуре AMD64, том 5 [7]
  • Руководство разработчика программного обеспечения IA32 Architectures [8]