2.7.2. 浮動小数点ステータスおよび制御レジスタ

FPSCRには次の特徴があります。

目的

FPUをユーザレベルで制御するために使用します。

使用制限

使用制限はありません。

構成

すべてのFPU構成で使用可能です。

属性

レジスタの概要については、Table 2.7を参照して下さい。

FPSCRのビット割り当てを、Figure 2.4に示します。

Figure 2.4. FPSCRのビット割り当て

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


FPSCRのビット割り当てを、Table 2.10に示します。

Table 2.10. FPSCRのビット割り当て

ビット フィールド 機能
[31] N比較操作によって「より小さい」の結果が生成された場合、1にセットされます。
[30]Z比較操作によって「等しい」の結果が生成された場合、1にセットされます。
[29] C比較操作によって「等しい」、「より大きい」、または「順序付けなし」の結果が生成された場合、1にセットされます。
[28] V比較操作によって「順序付けなし」の結果が生成された場合、1にセットされます。
[27] QC

このビットに最後に0が書き込まれた後で、アドバンストSIMD整数演算の飽和が発生した場合、1にセットされます。[a]

[26] AHP

代替半精度の制御ビット。

b0 = IEEE半精度形式が選択されています。

b1 = 代替半精度形式が選択されています。

[25] DN

デフォルトNaNモードの制御ビット。

b0 = NaNオペランドは浮動小数点演算の出力まで伝播されます。

b1 = 1つ以上のNaNを含む演算はすべて、デフォルトNaNを返します。

アドバンストSIMD算術演算は、DNビットの値にかかわらず常にデフォルトNaNの設定を使用します。

[24] FZ

Flush-to-Zeroモード制御ビット。

b0 = Flush-to-Zeroモードが不可能です。浮動小数点システムの動作は、IEEE 754規格に完全に準拠しています。

b1 = Flush-to-Zeroモードが可能です。

アドバンストSIMD算術演算は、FZビットの値にかかわらず常にFlush-to-Zeroの設定を使用します。

[23:22]RMode

丸めモード制御フィールド。

b00 = 近似値への丸め(RN)モード

b01 = プラス無限大への丸め(RP)モード

b10 = マイナス無限大への丸め(RM)モード

b11 = 0への丸め(RZ)モード

アドバンストSIMD算術演算は、RModeビットの値にかかわらず常に近似値への丸めの設定を使用します。

[21:20] Stride

ショートベクタ演算との下位互換性のため使用されるストライド制御。

Cortex-A9 NEON MPEでは、このフィールドの値は無視されます。

ARMアーキテクチャ リファレンスマニュアル』を参照して下さい。

[19]-UNK/SBZP
[18:16]Len

ショートベクタ演算との下位互換性のため使用されるベクタ長。

このフィールドを0以外の値に設定すると、VFPデータ処理命令で例外が生成されます。

ARMアーキテクチャ リファレンスマニュアル』を参照して下さい。

[15:8]-

UNK/SBZP

[7]IDC

入力非正規化累積例外フラグa

[6:5]-

UNK/SBZP

[4]IXC不正確累積例外フラグa
[3]UFCアンダーフロー累積例外フラグa
[2]OFCオーバフロー累積例外フラグa
[1]DZC0による除算の累積例外フラグa
[0]IOC無効演算の累積例外フラグa

[a] 例外フラグであるFPSCRのビット[27]、ビット[7]、ビット[4:0] はDEFLAGS出力にエクスポートされるため、必要に応じてプロセッサの外部から監視できます。


FPSCRレジスタにアクセスするには、次のVMSR命令を使用します。

VMRS <Rd>, FPSCR ; Read Floating-Point Status and Control Register
VMSR FPSCR, <Rt> ; Write Floating-Point Status and Control Register
Copyright © 2008-2010 ARM. All rights reserved.ARM DDI 0409FJ
Non-ConfidentialID013111