summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/builtins/subdf3.c
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-05-16 16:41:37 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-05-16 16:41:37 +0000
commit36ac5ddff7377586390a71cb3261f0a40d274308 (patch)
treeebebb3a4578e04336b18a85c232c1a9ed983bac3 /compiler-rt/lib/builtins/subdf3.c
parent50de3ad34185419fda1defb26aeefa783dad6c10 (diff)
downloadbcm5719-llvm-36ac5ddff7377586390a71cb3261f0a40d274308.tar.gz
bcm5719-llvm-36ac5ddff7377586390a71cb3261f0a40d274308.zip
builtins: expand out the AEABI function stubs
These actually may change calling conventions. We cannot simply provide function aliases as the aliased function may have a different calling convention. Provide a forwarding function instead to permit the compiler to synthesize the calling convention adjustment thunk. Remove the `ARM_EABI_FNALIAS` macro as that is not safe to use. Resolves PR33030! llvm-svn: 303188
Diffstat (limited to 'compiler-rt/lib/builtins/subdf3.c')
-rw-r--r--compiler-rt/lib/builtins/subdf3.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler-rt/lib/builtins/subdf3.c b/compiler-rt/lib/builtins/subdf3.c
index 7a79e5e7765..38340dfab1a 100644
--- a/compiler-rt/lib/builtins/subdf3.c
+++ b/compiler-rt/lib/builtins/subdf3.c
@@ -15,11 +15,15 @@
#define DOUBLE_PRECISION
#include "fp_lib.h"
-ARM_EABI_FNALIAS(dsub, subdf3)
-
// Subtraction; flip the sign bit of b and add.
COMPILER_RT_ABI fp_t
__subdf3(fp_t a, fp_t b) {
return __adddf3(a, fromRep(toRep(b) ^ signBit));
}
+#if defined(__ARM_EABI__)
+AEABI_RTABI fp_t __aeabi_dsub(fp_t a, fp_t b) {
+ return __subdf3(a, b);
+}
+#endif
+
OpenPOWER on IntegriCloud