1.5.13 マルチスレッド環境での浮動小数点ステータスワード

ステータスワードを必要とするソフトウェア浮動小数点ライブラリのバリアントに対して適用できる浮動小数点ステータスワードは、マルチスレッド環境で(ソフトウェア浮動小数点環境であっても)安全に使用できます。

各スレッドのステータスワードは、スレッド独自の __user_perthread_libspace ブロックに保存されます。

ハードウェア浮動小数点環境では、浮動小数点ステータスワードは ベクタ浮動小数点(VFP)レジスタに保存されます。この場合、スレッド切り替えメカニズムは、スレッドごとに、VFP レジスタのコピーを保持する必要があります。
ARM コンパイラ 6では、デフォルトで浮動小数点バリアントが選択されます。armclang コマンドラインオプション -ffast-math は他のバリアントを選択します。
関連する概念
1.5.11 ARM C ライブラリでのスレッドセーフティ
非機密扱いPDF file icon PDF 版ARM DUI0808CJ
Copyright © 2014, 2015 ARM.All rights reserved.