libgcc2.c (isnan): Use __builtin_isnan.
authorUros Bizjak <ubizjak@gmail.com>
Wed, 3 Oct 2018 20:29:10 +0000 (22:29 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 3 Oct 2018 20:29:10 +0000 (22:29 +0200)
* libgcc2.c (isnan): Use __builtin_isnan.
(isfinite): Use __builtin_isfinite.
(isinf): Use __builtin_isinf.

From-SVN: r264823

libgcc/ChangeLog
libgcc/libgcc2.c

index e08168cc44e996c0b8aaf8ff14272a8bf4c9b2ce..d4abb3b11ca35ba02f58d6b5fc5be911005abd64 100644 (file)
@@ -1,3 +1,9 @@
+2018-10-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * libgcc2.c (isnan): Use __builtin_isnan.
+       (isfinite): Use __builtin_isfinite.
+       (isinf): Use __builtin_isinf.
+
 2018-09-26  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/crtprec.c (set_precision): Use fnstcw instead of fstcw.
        unordered store to release lock.
        (__sync_lock_release_8): Likewise.
        (SYNC_LOCK_RELEASE_2): Remove define.
-        
+
 2018-08-02  Nicolas Pitre <nico@fluxnic.net>
 
        PR libgcc/86512
 
        * config/pa/fptr.c (_dl_read_access_allowed): New.
        (__canonicalize_funcptr_for_compare): Use it.
-       
+
 2018-02-28  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/83917
        * config/rl78/t-rl78: Added smindi3.S to LIB2ADD.
 
 2018-01-22  Sebastian Perta  <sebastian.perta@renesas.com>
+
        * config/rl78/smaxdi3.S: New assembly file.
        * config/rl78/t-rl78: Added smaxdi3.S to LIB2ADD.
 
 2018-01-22  Sebastian Perta  <sebastian.perta@renesas.com>
+
        * config/rl78/umaxdi3.S: New assembly file.
        * config/rl78/t-rl78: Added umaxdi3.S to LIB2ADD.
-       
+
 2018-01-21  John David Anglin  <danglin@gcc.gnu.org>
 
        PR lto/83452
        * config/pa/stublib.c (L_gnu_lto_v1): New stub definition.
        * config/pa/t-stublib (gnu_lto_v1-stub.o): Add make fragment.
-       
+
 2018-01-13  Richard Sandiford  <richard.sandiford@linaro.org>
 
        * config/aarch64/value-unwind.h (aarch64_vg): New function.
index f418f3a354de4b74d88ba9697b0ac5b8aa71ae03..8ac2025f7af65b30142f0b88963ae214f96be496 100644 (file)
@@ -1939,15 +1939,9 @@ NAME (TYPE x, int m)
 #define CONCAT2(A,B)   _CONCAT2(A,B)
 #define _CONCAT2(A,B)  A##B
 
-/* All of these would be present in a full C99 implementation of <math.h>
-   and <complex.h>.  Our problem is that only a few systems have such full
-   implementations.  Further, libgcc_s.so isn't currently linked against
-   libm.so, and even for systems that do provide full C99, the extra overhead
-   of all programs using libgcc having to link against libm.  So avoid it.  */
-
-#define isnan(x)       __builtin_expect ((x) != (x), 0)
-#define isfinite(x)    __builtin_expect (!isnan((x) - (x)), 1)
-#define isinf(x)       __builtin_expect (!isnan(x) & !isfinite(x), 0)
+#define isnan(x)       __builtin_isnan (x)
+#define isfinite(x)    __builtin_isfinite (x)
+#define isinf(x)       __builtin_isinf (x)
 
 #define INFINITY       CONCAT2(__builtin_huge_val, CEXT) ()
 #define I              1i