MIPS: math-emu: Inline ieee754sp_issnan and ieee754dp_issnan.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 24 Apr 2014 22:40:42 +0000 (00:40 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 23 May 2014 13:11:14 +0000 (15:11 +0200)
Shaves another 16 bytes off but more importantly avoids function calls.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/math-emu/ieee754dp.c
arch/mips/math-emu/ieee754dp.h
arch/mips/math-emu/ieee754sp.c
arch/mips/math-emu/ieee754sp.h

index 50b1fbf753f40b478739c5b99f932cc24f9d38f3..d9ceb6bd3536ae132a4567ec1026eafdf63d6c2d 100644 (file)
@@ -40,7 +40,7 @@ int ieee754dp_isnan(union ieee754dp x)
        return ieee754dp_class(x) >= IEEE754_CLASS_SNAN;
 }
 
-int ieee754dp_issnan(union ieee754dp x)
+static inline int ieee754dp_issnan(union ieee754dp x)
 {
        assert(ieee754dp_isnan(x));
        return ((DPMANT(x) & DP_MBIT(DP_FBITS-1)) == DP_MBIT(DP_FBITS-1));
index 830a0d55775bde90b864aee28c08e7c52b26032d..179d249a627b605de0d0fa40e84ff8e4f435b497 100644 (file)
@@ -81,7 +81,6 @@ static inline union ieee754dp builddp(int s, int bx, u64 m)
 }
 
 extern int ieee754dp_isnan(union ieee754dp);
-extern int ieee754dp_issnan(union ieee754dp);
 extern int __cold ieee754si_xcpt(int, const char *, ...);
 extern s64 __cold ieee754di_xcpt(s64, const char *, ...);
 extern union ieee754dp __cold ieee754dp_xcpt(union ieee754dp, const char *, ...);
index 495295cef3d409702b150f6c4f83de0b6f42d154..a90837a8cd85745b8d691fd1d854b9a2d5ddd516 100644 (file)
@@ -40,7 +40,7 @@ int ieee754sp_isnan(union ieee754sp x)
        return ieee754sp_class(x) >= IEEE754_CLASS_SNAN;
 }
 
-int ieee754sp_issnan(union ieee754sp x)
+static inline int ieee754sp_issnan(union ieee754sp x)
 {
        assert(ieee754sp_isnan(x));
        return (SPMANT(x) & SP_MBIT(SP_FBITS-1));
index 95112052db6d87ed7bc2ce30c72a4aa256d49975..0b44569582b9e1032bc69638168a51d6c0377823 100644 (file)
@@ -87,7 +87,6 @@ static inline union ieee754sp buildsp(int s, int bx, unsigned m)
 }
 
 extern int ieee754sp_isnan(union ieee754sp);
-extern int ieee754sp_issnan(union ieee754sp);
 extern int __cold ieee754si_xcpt(int, const char *, ...);
 extern s64 __cold ieee754di_xcpt(s64, const char *, ...);
 extern union ieee754sp __cold ieee754sp_xcpt(union ieee754sp, const char *, ...);