Merge "arm64: Use builtin for nearbyintf/nearbyint"
This commit is contained in:
commit
6c7c06712e
2 changed files with 10 additions and 0 deletions
|
@ -315,6 +315,8 @@ cc_library {
|
|||
"upstream-freebsd/lib/msun/src/s_llrintf.c",
|
||||
"upstream-freebsd/lib/msun/src/s_lrint.c",
|
||||
"upstream-freebsd/lib/msun/src/s_lrintf.c",
|
||||
"upstream-freebsd/lib/msun/src/s_nearbyintf.c",
|
||||
"upstream-freebsd/lib/msun/src/s_nearbyint.c",
|
||||
"upstream-freebsd/lib/msun/src/s_rint.c",
|
||||
"upstream-freebsd/lib/msun/src/s_rintf.c",
|
||||
"upstream-freebsd/lib/msun/src/s_round.c",
|
||||
|
|
|
@ -57,4 +57,12 @@ double fmin(double x, double y) { return __builtin_fmin(x, y); }
|
|||
|
||||
float roundf(float x) { return __builtin_roundf(x); }
|
||||
double round(double x) { return __builtin_round(x); }
|
||||
|
||||
float nearbyintf(float x) { return __builtin_nearbyintf(x); }
|
||||
double nearbyint(double x) { return __builtin_nearbyint(x); }
|
||||
// msun s_nearbyint.c defines all floating-point version, so we need to
|
||||
// redefine the long double one here. For aarch64, clang/compiler-rt
|
||||
// soft-float routines does not use single/double floating-point operation,
|
||||
// so it should be safe to call rintl directly.
|
||||
long double nearbyintl(long double x) { return rintl(x); }
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue