diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-11-14 14:38:28 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-11-14 14:38:28 +0100 |
commit | 0c3c35e148dbc03106038dd25816fb9f3a084d86 (patch) | |
tree | 8b8cc6a027353a0f242f61362b35b0942da61b83 /arch/mips/math-emu/sp_simple.c | |
parent | 50d40f187f9182ee8caa1b83f80a0e11e2226baa (diff) | |
parent | 5e08fe570c2dbabb5015c37049eb9a451e55c890 (diff) |
Merge branch 'fix/misc' into topic/misc
Diffstat (limited to 'arch/mips/math-emu/sp_simple.c')
-rw-r--r-- | arch/mips/math-emu/sp_simple.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/mips/math-emu/sp_simple.c b/arch/mips/math-emu/sp_simple.c index 770f0f4677c..3175477d36f 100644 --- a/arch/mips/math-emu/sp_simple.c +++ b/arch/mips/math-emu/sp_simple.c @@ -62,8 +62,6 @@ ieee754sp ieee754sp_neg(ieee754sp x) return ieee754sp_nanxcpt(y, "neg"); } - if (ieee754sp_isnan(x)) /* but not infinity */ - return ieee754sp_nanxcpt(x, "neg", x); return x; } @@ -76,15 +74,12 @@ ieee754sp ieee754sp_abs(ieee754sp x) CLEARCX; FLUSHXSP; + /* Clear sign ALWAYS, irrespective of NaN */ + SPSIGN(x) = 0; + if (xc == IEEE754_CLASS_SNAN) { - SETCX(IEEE754_INVALID_OPERATION); return ieee754sp_nanxcpt(ieee754sp_indef(), "abs"); } - if (ieee754sp_isnan(x)) /* but not infinity */ - return ieee754sp_nanxcpt(x, "abs", x); - - /* quick fix up */ - SPSIGN(x) = 0; return x; } |