MIPS: math-emu: Optimise NaN handling in comparisons
We have the input operands already classified in `ieee754sp_cmp' and `ieee754dp_cmp' comparison operations, so use the class obtained to tell NaNs and numbers apart rather than classifying inputs again for this purpose, reducing the size of code by 24 and 40 instructions or 96 and 160 bytes respectively. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/9689/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
d5afa7e905
commit
c9a1084516
@@ -35,7 +35,7 @@ int ieee754sp_cmp(union ieee754sp x, union ieee754sp y, int cmp, int sig)
|
||||
FLUSHYSP;
|
||||
ieee754_clearcx(); /* Even clear inexact flag here */
|
||||
|
||||
if (ieee754sp_isnan(x) || ieee754sp_isnan(y)) {
|
||||
if (ieee754_class_nan(xc) || ieee754_class_nan(yc)) {
|
||||
if (sig ||
|
||||
xc == IEEE754_CLASS_SNAN || yc == IEEE754_CLASS_SNAN)
|
||||
ieee754_setcx(IEEE754_INVALID_OPERATION);
|
||||
|
Reference in New Issue
Block a user