summaryrefslogtreecommitdiff
path: root/libm/builtins.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libm/builtins.cpp')
-rw-r--r--libm/builtins.cpp60
1 files changed, 0 insertions, 60 deletions
diff --git a/libm/builtins.cpp b/libm/builtins.cpp
deleted file mode 100644
index aec0f5fa0..000000000
--- a/libm/builtins.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <math.h>
-
-#include "fpmath.h"
-
-double fabs(double x) {
-#if __arm__
- // Both Clang and GCC insist on moving r0/r1 into a double register
- // and using fabs where bit-twiddling would be a better choice.
- // They get fabsf right, but we need to be careful in fabsl too.
- IEEEd2bits u;
- u.d = x;
- u.bits.sign = 0;
- return u.d;
-#else
- return __builtin_fabs(x);
-#endif
-}
-
-float fabsf(float x) {
- return __builtin_fabsf(x);
-}
-
-#if defined(__LP64__)
-long double fabsl(long double x) { return __builtin_fabsl(x); }
-#else
-long double fabsl(long double x) {
- // Don't use __builtin_fabs here because of ARM. (See fabs above.)
- return fabs(x);
-}
-#endif
-
-#if defined(__arm__) || defined(__aarch64__)
-float fmaf(float x, float y, float z) { return __builtin_fmaf(x, y, z); }
-double fma(double x, double y, double z) { return __builtin_fma(x, y, z); }
-
-float fmaxf(float x, float y) { return __builtin_fmaxf(x, y); }
-double fmax(double x, double y) { return __builtin_fmax(x, y); }
-
-float fminf(float x, float y) { return __builtin_fminf(x, y); }
-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); }
-#endif