12.67 --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 の単精度バリアントに適合するハードウェア浮動小数点ユニットを選択します。
fpv5_d16
アーキテクチャ FPv5-D16 に適合するハードウェア浮動小数点ユニットを選択します。
fpv5-sp
アーキテクチャ FPv5 の単精度バリアントに適合するハードウェア浮動小数点ユニットを選択します。
softvfp
浮動小数点演算が浮動小数点ライブラリ fplib によって実行されるソフトウェア浮動小数点サポートを選択します。--fpu オプションが指定されていない場合、または FPU を備えていない CPU を選択した場合は、これがデフォルトになります。
softvfp+vfpv2
VFPv2 に適合するハードウェア浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。VFP ユニットを実装するシステムで ARM コードを Thumb コードとインターワークさせる場合は、このオプションを選択します。
softvfp+vfpv3
VFPv3 に適合するハードウェアのベクタ浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
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 に適合するハードウェア浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
softvfp+fpv5_d16
FPv5-D16 に適合するハードウェア浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。
softvfp+fpv5-sp
FPv5-SP に適合するハードウェア浮動小数点ユニットとソフトウェア浮動小数点リンケージを選択します。

使用法

このオプションを指定した場合、コマンドラインの暗黙的な FPU オプション(--cpu オプションなどを指定した場合など)がオーバーライドされます。
また、リンカはこのオプションを使用してシステムライブラリの選択を最適化します。デフォルトは、すべてのコンポーネントオブジェクトファイルと互換性のある FPU の選択です。
選択した FPU アーキテクチャと互換性のない機能にコンポーネントオブジェクトファイルが依存している場合は、リンク処理に失敗します。
--fpu オプションを使用して明示的に選択された FPU は、--cpu オプションを使用して暗黙的に選択された FPU を常にオーバーライドします。例えば、オプション --cpu=ARM1136JF-S --fpu=softvfp は、CPU の選択によってアーキテクチャ VFPv2 の使用が暗黙的に示されている場合でも、ソフトウェア浮動小数点ライブラリ fplib を使用するコードを生成します。

制約条件

softvfp では NEON サポートは無効です。

デフォルト

デフォルトのターゲット FPU アーキテクチャは、使用された --cpu オプションに基づいて決定されます。
--cpu で指定したプロセッサに VFP コプロセッサがある場合、デフォルトのターゲット FPU アーキテクチャは、そのプロセッサの VFP アーキテクチャになります。例えば、オプションとして --cpu ARM1136JF-S を指定すると、--fpu vfpv2 というオプションが暗黙的に選択されます。VFP コプロセッサが存在する場合は、VFP 命令が生成されます。
関連する参考文書
12.31 --cpu=list
12.32 --cpu=name
12.66 --fpu=list
関連情報
浮動小数点リンケージの種類
浮動小数点リンケージと浮動小数点計算のコンパイラオプション
浮動小数点リンケージとコンパイラオプションの計算要件
プロセッサとその明示的な浮動小数点ユニット(FPU)
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.