5.46 ベクタ浮動小数点(VFP)サポートコードの実装

お使いのシステムで使用可能な VFP サポートコードの実装は、ARM Compilation Tools のインストール時に付属して提供されます。

サポートコードは、以下の項目で構成されます。
  • ハードウェアから戻された VFP 演算をエミュレートするためのライブラリ vfpsupport.l および vfpsupport.b
    これらのファイルは、インストールしたディレクトリの \lib\armlib サブディレクトリにあります。
  • 最上位レベル、第 2 レベル、およびユーザレベルの割り込みハンドラを実装する、C のソースコードとアセンブリ言語のソースコード。
    これらのファイルは、 install_directory\Examples\...\vfpsupport にある ARM Compilation Tools 配布パッケージの Examples ディレクトリの vfpsupport サブディレクトリにあります。
    VFP サポートとオペレーティングシステムを統合するには、これらのファイルを編集する必要が生じる場合があります。
  • VFP コプロセッサのサブアーキテクチャ機能にアクセスするための、C のソースコードとアセンブリ言語のソースコード。
    これらのファイルは、 install_directory\Examples\...\vfpsupport. にある ARM Compilation Tools 配布パッケージの Examples ディレクトリの vfpsupport サブディレクトリにあります。
VFP コプロセッサが命令を戻すと、未定義命令例外がプロセッサに対して通知され、未定義命令ベクタを使用して VFP サポートコードの処理が開始されます。最上位レベルと第 2 レベルの割り込みハンドラは、例外の原因が無効な命令にあることを確認するなど、通知の初期処理を実行します。次に、ユーザレベルの割り込みハンドラが、ライブラリ vfpsupport.l または vfpsupport.b の適切なライブラリ関数を呼び出し、ソフトウェアで VFP 演算をエミュレートします。

以下の場合は、VFP サポートコードを使用する必要がありません。
  • --fpmode=std を使用してビルドする場合
  • 通常外または例外的な事例のトラップが不要な場合
  • VFP コプロセッサが RunFast モードで動作している場合
  • ハードウェアコプロセッサが VFPv3 ベースのシステムである場合
関連する概念
5.41 浮動小数点演算に対するコンパイラサポート
5.42 デフォルトで選択されるハードウェアまたはソフトウェアによる浮動小数点サポート
5.43 浮動小数点演算に関するハードウェアサポートとソフトウェアサポートの違いの例
5.44 ベクタ浮動小数点(VFP)アーキテクチャ
5.45 浮動小数点演算のハードウェアによる処理に関する制限
5.47 半精度浮動小数点数に対するコンパイラおよびライブラリサポート
5.48 半精度浮動小数点数の形式
5.49 浮動小数点計算と浮動小数点リンケージに対するコンパイラサポート
5.50 浮動小数点リンケージの種類
5.51 浮動小数点リンケージと浮動小数点計算のコンパイラオプション
関連する参考文書
5.52 コンパイラオプションの浮動小数点リンケージと浮動小数点計算の要件
5.53 プロセッサおよび暗黙の浮動小数点ユニット(FPU)
8.86 --fpmode=model
関連情報
『ARM Application Note 133 - Using VFP with RVDS』
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.