toge's diary

コンピュータ関連の趣味をつらつらと。

FPUのフラグをいじろう

http://d.hatena.ne.jp/shinichiro_h/20061118#1163849316
演算結果がNaNだった場合にプロセスが落ちてくれる素敵具合。
これは助かりますぅ〜。

int
main(int argc, char* argv[])
{
#ifdef __i386__
  {
    short cw;
    __asm__ volatile("fnstcw %0":"=m"(cw));
    cw &= ~1;
    __asm__ volatile("fldcw %0"::"m"(cw));
  }
#endif