libgcc2.c (isnan): Use __builtin_isnan.

* libgcc2.c (isnan): Use __builtin_isnan.
	(isfinite): Use __builtin_isfinite.
	(isinf): Use __builtin_isinf.

From-SVN: r264823
This commit is contained in:
Uros Bizjak 2018-10-03 22:29:10 +02:00 committed by Uros Bizjak
parent a41cc59de4
commit af8096fc2b
2 changed files with 15 additions and 15 deletions

View 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.
@ -105,7 +111,7 @@
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
@ -416,7 +422,7 @@
* 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
@ -513,21 +519,21 @@
* 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.

View 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