diff options
author | Alexey Samsonov <samsonov@google.com> | 2014-02-14 09:20:33 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2014-02-14 09:20:33 +0000 |
commit | a6b264b51d4fa786d9df659621fc1ffad1fdc5d0 (patch) | |
tree | 416fdf341f03ee1f373907f65ce054afc40d7ab1 /compiler-rt/lib/int_math.h | |
parent | 0b28ea9c471308faf04b4b6695c9f016aabea49a (diff) | |
download | bcm5719-llvm-a6b264b51d4fa786d9df659621fc1ffad1fdc5d0.tar.gz bcm5719-llvm-a6b264b51d4fa786d9df659621fc1ffad1fdc5d0.zip |
Move original compiler-rt functions (libgcc replacement) to lib/builtins directory
llvm-svn: 201393
Diffstat (limited to 'compiler-rt/lib/int_math.h')
-rw-r--r-- | compiler-rt/lib/int_math.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/compiler-rt/lib/int_math.h b/compiler-rt/lib/int_math.h deleted file mode 100644 index d6b4bdae162..00000000000 --- a/compiler-rt/lib/int_math.h +++ /dev/null @@ -1,67 +0,0 @@ -/* ===-- int_math.h - internal math inlines ---------------------------------=== - * - * The LLVM Compiler Infrastructure - * - * This file is dual licensed under the MIT and the University of Illinois Open - * Source Licenses. See LICENSE.TXT for details. - * - * ===-----------------------------------------------------------------------=== - * - * This file is not part of the interface of this library. - * - * This file defines substitutes for the libm functions used in some of the - * compiler-rt implementations, defined in such a way that there is not a direct - * dependency on libm or math.h. Instead, we use the compiler builtin versions - * where available. This reduces our dependencies on the system SDK by foisting - * the responsibility onto the compiler. - * - * ===-----------------------------------------------------------------------=== - */ - -#ifndef INT_MATH_H -#define INT_MATH_H - -#ifndef __has_builtin -# define __has_builtin(x) 0 -#endif - -#define CRT_INFINITY __builtin_huge_valf() - -#define crt_isinf(x) __builtin_isinf((x)) -#define crt_isnan(x) __builtin_isnan((x)) - -/* Define crt_isfinite in terms of the builtin if available, otherwise provide - * an alternate version in terms of our other functions. This supports some - * versions of GCC which didn't have __builtin_isfinite. - */ -#if __has_builtin(__builtin_isfinite) -# define crt_isfinite(x) __builtin_isfinite((x)) -#else -# define crt_isfinite(x) \ - __extension__(({ \ - __typeof((x)) x_ = (x); \ - !crt_isinf(x_) && !crt_isnan(x_); \ - })) -#endif - -#define crt_copysign(x, y) __builtin_copysign((x), (y)) -#define crt_copysignf(x, y) __builtin_copysignf((x), (y)) -#define crt_copysignl(x, y) __builtin_copysignl((x), (y)) - -#define crt_fabs(x) __builtin_fabs((x)) -#define crt_fabsf(x) __builtin_fabsf((x)) -#define crt_fabsl(x) __builtin_fabsl((x)) - -#define crt_fmax(x, y) __builtin_fmax((x), (y)) -#define crt_fmaxf(x, y) __builtin_fmaxf((x), (y)) -#define crt_fmaxl(x, y) __builtin_fmaxl((x), (y)) - -#define crt_logb(x) __builtin_logb((x)) -#define crt_logbf(x) __builtin_logbf((x)) -#define crt_logbl(x) __builtin_logbl((x)) - -#define crt_scalbn(x, y) __builtin_scalbn((x), (y)) -#define crt_scalbnf(x, y) __builtin_scalbnf((x), (y)) -#define crt_scalbnl(x, y) __builtin_scalbnl((x), (y)) - -#endif /* INT_MATH_H */ |