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 の単精度バリアントに適合するハードウェア浮動小数点ユニットを選択します。

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 命令が生成されます。

関連する参考文書
12.29 --cpu=list
12.30 --cpu=name
12.66 --fpu=list
関連情報
浮動小数点リンケージの種類
浮動小数点リンケージと浮動小数点計算のコンパイラオプション
コンパイラオプションの浮動小数点リンケージと浮動小数点計算の要件
プロセッサおよび暗黙の浮動小数点ユニット(FPU)
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.