build/arch/mips/math-emu/sp_sub.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff -puN build/arch/mips/math-emu/sp_sub.c~consolidate_conditional build/arch/mips/math-emu/sp_sub.c --- 24/build/arch/mips/math-emu/sp_sub.c~consolidate_conditional 2003-03-19 23:32:43.000000000 +0100 +++ 24-quintela/build/arch/mips/math-emu/sp_sub.c 2003-03-19 23:33:57.000000000 +0100 @@ -167,12 +167,11 @@ ieee754sp ieee754sp_sub(ieee754sp x, iee xe = xe; xs = ys; } - if (xm == 0) { - if (ieee754_csr.rm == IEEE754_RD) - return ieee754sp_zero(1); /* round negative inf. => sign = -1 */ - else - return ieee754sp_zero(0); /* other round modes => sign = 1 */ - } + if (xm == 0) + /* if IEEE754_RD round negative inf. => sign = -1 + other round modes => sign = 1 */ + return ieee754sp_zero(ieee754_csr.rm == IEEE754_RD); + /* normalize to rounding precision */ while ((xm >> (SP_MBITS + 3)) == 0) { _ -- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy