F16C - F16C
Набор инструкций F16C (ранее / неофициально известный как CVT16 ) представляет собой расширение архитектуры набора инструкций x86, которое обеспечивает поддержку преобразования между форматами с плавающей запятой половинной точности и стандартными форматами одинарной точности IEEE .
История
Набор инструкций CVT16, анонсированный AMD 1 мая 2009 года, является расширением 128-битных инструкций ядра SSE в наборе инструкций x86 и AMD64 .
CVT16 - это пересмотр части предложения по набору инструкций SSE5, объявленного 30 августа 2007 г., которое дополнено наборами инструкций XOP и FMA4 . Этот пересмотр делает двоичное кодирование предлагаемых новых инструкций более совместимых с Intel «s 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
-
AMD :
- Процессоры на базе Jaguar и новее
- Процессоры на базе Puma и новее
- Переработчики "тяжелого оборудования"
- Процессоры на базе бульдозеров , IV квартал 2011 г.
- Процессоры на базе Piledriver , 4 квартал 2012 г.
- Процессоры на базе Steamroller , первый квартал 2014 г.
- Экскаваторные процессоры и новее, 2015 г.
- Процессоры на базе Zen , первый квартал 2017 г.
- Процессоры на базе Zen + , второй квартал 2018 г.
- Процессоры на базе Zen2 , третий квартал 2019 г.
-
Intel :
- Процессоры Ivy Bridge и новее
использованная литература
внешние ссылки
- Новые инструкции по работе с бульдозерами и погрузчиками [1]
- Математика DirectX F16C и FMA [2]
- Руководство программиста по архитектуре AMD64, том 1 [3]
- Руководство программиста по архитектуре AMD64, том 2 [4]
- Руководство программиста по архитектуре AMD64, том 3 [5]
- Руководство программиста по архитектуре AMD64, том 4 [6]
- Руководство программиста по архитектуре AMD64, том 5 [7]
- Руководство разработчика программного обеспечения для архитектур IA32 [8]