aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/math-emu/sp_sub.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2014-04-30 05:21:55 -0400
committerRalf Baechle <ralf@linux-mips.org>2014-05-23 09:12:38 -0400
commit56a6473339dbd2e908cf8c6f2856d5de2bf8d15b (patch)
treea500f42c8e140cd909d0a5340474f6012c0740b4 /arch/mips/math-emu/sp_sub.c
parentaef3fb76aa1390ef864db888d06d8fcd5510df2d (diff)
MIPS: math-emu: Switch to using the MIPS rounding modes.
Previously math-emu was using the IEEE-754 constants internally. These were differing by having the constants for rounding to +/- infinity switched, so a conversion was necessary. This would be entirely avoidable if the MIPS constants were used throughout, so get rid of the bloat. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/math-emu/sp_sub.c')
-rw-r--r--arch/mips/math-emu/sp_sub.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/mips/math-emu/sp_sub.c b/arch/mips/math-emu/sp_sub.c
index e813f4fee784..8592e49032b8 100644
--- a/arch/mips/math-emu/sp_sub.c
+++ b/arch/mips/math-emu/sp_sub.c
@@ -91,7 +91,7 @@ union ieee754sp ieee754sp_sub(union ieee754sp x, union ieee754sp y)
91 if (xs != ys) 91 if (xs != ys)
92 return x; 92 return x;
93 else 93 else
94 return ieee754sp_zero(ieee754_csr.rm == IEEE754_RD); 94 return ieee754sp_zero(ieee754_csr.rm == FPU_CSR_RD);
95 95
96 case CLPAIR(IEEE754_CLASS_NORM, IEEE754_CLASS_ZERO): 96 case CLPAIR(IEEE754_CLASS_NORM, IEEE754_CLASS_ZERO):
97 case CLPAIR(IEEE754_CLASS_DNORM, IEEE754_CLASS_ZERO): 97 case CLPAIR(IEEE754_CLASS_DNORM, IEEE754_CLASS_ZERO):
@@ -165,7 +165,7 @@ union ieee754sp ieee754sp_sub(union ieee754sp x, union ieee754sp y)
165 xs = ys; 165 xs = ys;
166 } 166 }
167 if (xm == 0) { 167 if (xm == 0) {
168 if (ieee754_csr.rm == IEEE754_RD) 168 if (ieee754_csr.rm == FPU_CSR_RD)
169 return ieee754sp_zero(1); /* round negative inf. => sign = -1 */ 169 return ieee754sp_zero(1); /* round negative inf. => sign = -1 */
170 else 170 else
171 return ieee754sp_zero(0); /* other round modes => sign = 1 */ 171 return ieee754sp_zero(0); /* other round modes => sign = 1 */