インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
half-float 値に変換するための組込み関数は 4 つあります。その内の 2 つ (_mm_cvtph_ps() と _mm_cvtps_ph()) は emmintrin.h ファイルで宣言され、ほかの 2 つ (_mm256_cvtps_ph() と _mm256_cvtph_ps()) は immintrin.h ファイルで宣言されます。
これらの組込み関数は、FP16 変換を実行する特殊な命令を持たない、インテル® AVX 命令に対応した最初の CPU からパックド半精度値を変換します。そのため、これらの組込み関数は -Qx<CPU>/-x<CPU> オプション (<CPU> は拡張命令対応の CPU) でターゲット CPU として第 3 世代インテル® Core™ プロセッサーが指定された場合のみ、ランタイム・ライブラリー関数呼び出しレベルで、そのようなプロセッサーの命令にマップします。