非機密扱い | ![]() | ARM DUI0474JJ | ||
| ||||
ホーム > リンカコマンドラインオプション > --fpu=name |
ターゲットの FPU アーキテクチャを指定します。
FPU アーキテクチャがすべて記載された一覧を表示するには、--fpu=list
オプションを使用します。
--fpu=
name
name
には以下のいずれかを指定できます。
なし
浮動小数点オプションが使用されないことを示します。このオプションを指定すると、浮動小数点コードは使用できません。
vfpv2
アーキテクチャ VFPv2 に適合する、ハードウェアの浮動小数点ユニットを選択します。
vfpv3
アーキテクチャ VFPv3 に適合する、ハードウェアのベクタ浮動小数点ユニットを選択します。VFPv3 は、浮動小数点の例外をトラップできないことを除いては、VFPv2 と下位互換性があります。
vfpv3_fp16
半精度拡張機能も備えたアーキテクチャ VFPv3 に適合する、ハードウェアのベクタ浮動小数点ユニットを選択します。
vfpv3_d16
アーキテクチャ VFPv3-D16 に適合する、ハードウェアのベクタ浮動小数点ユニットを選択します。
vfpv3_d16_fp16
半精度拡張機能も備えたアーキテクチャ VFPv3-D16 に適合する、ハードウェアのベクタ浮動小数点ユニットを選択します。
vfpv4
VFPv4 アーキテクチャに適合するハードウェア浮動小数点ユニットを選択します。
vfpv4_d16
アーキテクチャ VFPv4-D16 に適合するハードウェア浮動小数点ユニットを選択します。
fpv4-sp
アーキテクチャ FPv4 の単精度バリアントに適合するハードウェア浮動小数点ユニットを選択します。
softvfp
浮動小数点演算が浮動小数点ライブラリ fplib によって実行されるソフトウェア浮動小数点サポートを選択します。--fpu
オプションが指定されていない場合、または FPU を備えていない CPU を選択した場合は、これがデフォルトになります。
softvfp+vfpv2
VFPv2 に適合するハードウェア浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。VFP ユニットを実装するシステムで ARM コードを Thumb コードとインターワークさせる場合は、このオプションを選択します。
softvfp+vfpv3
VFPv3 に適合するハードウェアのベクタ浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。VFPv3 ユニットを実装するシステムで ARM コードを Thumb コードとインターワークさせる場合は、このオプションを選択します。
softvfp+vfpv3_fp16
VFPv3-fp16 に適合するハードウェアのベクタ浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
softvfp+vfpv3_d16
VFPv3-D16 に適合するハードウェアのベクタ浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
softvfp+vfpv3_d16_fp16
VFPv3-D16-fp16 に適合するハードウェアのベクタ浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
softvfp+vfpv4
FPv4 に適合するハードウェア浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
softvfp+vfpv4_d16
VFPv4-D16 に適合するハードウェア浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
softvfp+fpv4-sp
FPv4-SP に適合するハードウェア浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
このオプションを指定した場合、コマンドラインの暗黙的な FPU オプション(--cpu
オプションなどを指定した場合など)がオーバーライドされます。
また、リンカはこのオプションを使用してシステムライブラリの選択を最適化します。デフォルトは、すべてのコンポーネントオブジェクトファイルと互換性のある FPU の選択です。
選択した FPU アーキテクチャと互換性のない機能にコンポーネントオブジェクトファイルが依存している場合は、リンク処理に失敗します。
--fpu
オプションを使用して明示的に選択された FPU は、--cpu
オプションを使用して暗黙的に選択された FPU を常にオーバーライドします。例えば、オプション
--cpu=ARM1136JF-S --fpu=softvfp
は、CPU の選択によってアーキテクチャ VFPv2 の使用が暗黙的に示されている場合でも、ソフトウェア浮動小数点ライブラリ fplib を使用するコードを生成します。
softvfp
では NEON サポートは無効です。
デフォルトのターゲット FPU アーキテクチャは、使用された --cpu
オプションに基づいて決定されます。
--cpu
で指定した CPU に VFP コプロセッサがある場合、デフォルトのターゲット FPU アーキテクチャは、その CPU の VFP アーキテクチャになります。例えば、オプション --cpu ARM1136JF-S
を選択すると、オプション --fpu vfpv2
が暗黙的に選択されます。VFP コプロセッサが存在する場合は、VFP 命令が生成されます。