Renesas Synergy™

FAQ 1000277:#pragma interruptを使用した割り込み関数内でFPU演算の結果が正しくないことがあります。

Q : 質問

#pragma interruptを使用した割り込み関数内でFPU演算の結果が正しくないことがあります。

 


A:回答

SuperHファミリのFPU内蔵コア(SH2A-FPU, SH4およびSH4A)で、#pragma interruptを使用した割り込み関数の先頭における浮動小数点ステータス/コントロールレジスタ(FPSCRレジスタ)の精度モード(PRビット)の値は不定です。
コンパイラでFPu = { Single | Double }オプションを使用していない場合、お問い合わせの割り込み関数先頭でFPSCRレジスタのPRビットを単精度(0)に設定しているかご確認下さい。

設定例:set_fpscr(get_fpscr()&0xFFF7FFFF);

 

適用製品

SuperH RISC engine ファミリ
SuperHファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください