--fp16_format=format

このオプションを使用すると、半精度浮動小数点数を VFPv3 アーキテクチャのオプションの拡張機能として使用できます。形式が指定されていない場合は、__fp16 データ型を使用するとエラーになります。

Show/hide構文

--fp16_format=format

format には以下のいずれかを指定できます。

alternative

範囲は拡大されますが、NaN 値や無限大値は持たない ieee の代替です。

ieee

IEEE 754 標準のリビジョンである IEEE 754r によって定義された、半精度 2 進浮動小数点形式です。

none

これがデフォルトの設定です。形式を指定しないことに相当し、__fp16 データ型を使用するとエラーになることを意味します。

Show/hide制約条件

__fp16 データ型を使用する場合は、以下の制限が適用されます。

  • C または C++ の式で使用する場合、__fp16 型は単一精度に昇格されます。それに続く倍精度への昇格は、いずれかのオペランドで必要となった場合に発生することがあります。

  • 単一精度値は __fp16 に変換できます。倍精度値は単一精度に変換されてから、倍精度の丸めを伴う場合のある __fp16 に変換されます。これは、ARM アーキテクチャでは倍精度から 16 ビットの直接変換ができないためです。

  • fpmode=fast を使用した場合、半精度浮動小数形式との相互変換では浮動小数点例外は発生しません。

  • 関数の正式な引数の型を __fp16 にすることはできません。ただし、__fp16 型の変数へのポインタを関数の正式な引数型として使用することはできます。

  • __fp16 値は実際の関数の引数として渡すことができます。この場合、引数は単精度値に変換されます。

  • __fp16 は、関数の戻り値型としては指定できません。ただし、__fp16 型へのポインタは戻り値型として使用できます。

  • __fp16 値は、float または double を返す関数の戻り値として使用した場合、単精度または倍精度の値に変換されます。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711