F16C
From Wikipedia, the free encyclopedia
F16C[1] (以前/非公式にCVT16として知られていた) 命令セットは、半精度とIEEE標準の単精度浮動小数点形式の間の変換のサポートを提供するx86 命令セットアーキテクチャ拡張である。
歴史
テクニカル情報
XMMレジスタ内の4つの浮動小数点値、またはYMMレジスタ内の8つの浮動小数点値を変換するバリアントがある。
この命令は「半(精度)詰めから単(精度)詰めへのベクトル変換(※原文: Vector Convert Packed Half to Packed Single)」の略語で、その逆も然りである:
VCVTPH2PS xmmreg,xmmrm64– メモリまたはXMMレジスタの下半分の内の4つの半精度浮動小数点値を、XMMレジスタ内に4つの単精度浮動小数点値として変換する。VCVTPH2PS ymmreg,xmmrm128– メモリまたはXMMレジスタ (YMMレジスタの下半分) 内の8つの半精度浮動小数点値を、YMMレジスタ内に8つの単精度浮動小数点値として変換する。VCVTPS2PH xmmrm64,xmmreg,imm8– XMMレジスタ内の4つの単精度浮動小数点値を、メモリまたはXMMレジスタの下半分内に半精度浮動小数点値として変換する。VCVTPS2PH xmmrm128,ymmreg,imm8– YMMレジスタ内の8つの単精度浮動小数点値を、メモリまたはXMMレジスタ内に半精度浮動小数点値として変換する。
VCVTPS2PHへの8ビットの直接引数は、丸めモードを選択する。値0~4は、最近接、ダウン、アップ、トランケート、およびMXCSR.RCでモード設定をする。
これらの命令のサポートは、CPUIDのEAX=1の後にECXのビット29によって示される。
F16C搭載CPU
- AMD:
- Jaguar=ベース・プロセッサ
- Puma=ベース・プロセッサ
- 「重機」(系)・プロセッサ
- Bulldozer=ベース・プロセッサ, Q4 2011[3]
- Piledriver=ベース・プロセッサ, Q4 2012[4]
- Steamroller=ベース・プロセッサ, Q1 2014
- Excavator=ベース・プロセッサ, Q2 2015
- Zen=ベース・プロセッサ, Q1 2017, およびこれ以降
- Intel:
- Ivy Bridge・プロセッサおよびこれ以降