10.15 __softfp

__softfp キーワードは、関数がソフトウェア浮動小数点リンケージを使用することを示します。このキーワードは、softfp リンケージの使用時に関数に暗黙的に追加されます。

__softfp は、関数修飾子です。これは、関数の型に影響します。

このキーワードには #pragma __softfp_linkage と同等の #pragma があります。

使用法

この関数への呼び出しにより、浮動小数点引数が整数レジスタに渡されます。結果が浮動小数点値である場合、この値は整数レジスタに戻されます。これにより、ソフトウェア浮動小数点を対象としたコンパイルの動作が繰り返されます。
このキーワードを使用すると、ハードウェア浮動小数点とソフトウェア浮動小数点を使用するようにコンパイルされるソースで、同じライブラリを使用できるようになります。

C++ では、__softfp キーワードで修飾された仮想関数がオーバーライドされる場合、オーバーライドする関数も __softfp として宣言する必要があります。関数が一致しない場合、コンパイラによってエラーが生成されます。
関連する概念
5.49 浮動小数点計算と浮動小数点リンケージに対するコンパイラサポート
関連する参考文書
8.88 --fpu=name コンパイラオプション
10.100 #pragma softfp_linkage、#pragma no_softfp_linkage
10.47 __attribute__((pcs("calling_convention"))) 関数属性
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.