diff options
author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-05-14 01:00:51 +0000 |
---|---|---|
committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2015-05-14 01:00:51 +0000 |
commit | 6402ad27c01c9503a12d41d7e40646cf0d1f919f (patch) | |
tree | 228bc778c03aeaf4fa5c18fff6fee5f27bbf81d2 /llvm/lib/CodeGen/TargetLoweringBase.cpp | |
parent | 9a43d5be2f37c728d67dda5cb65ae3edda7a20e0 (diff) | |
download | bcm5719-llvm-6402ad27c01c9503a12d41d7e40646cf0d1f919f.tar.gz bcm5719-llvm-6402ad27c01c9503a12d41d7e40646cf0d1f919f.zip |
[CodeGen] Use standard -not gnueabi- naming for f16 libcalls on Darwin.
Other targets probably should as well. Since r237161, compiler-rt has
both, but I don't see why anything other than gnueabi would use a
gnueabi naming scheme.
llvm-svn: 237324
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringBase.cpp')
-rw-r--r-- | llvm/lib/CodeGen/TargetLoweringBase.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringBase.cpp b/llvm/lib/CodeGen/TargetLoweringBase.cpp index 4dd279ede0d..1ca453aa09c 100644 --- a/llvm/lib/CodeGen/TargetLoweringBase.cpp +++ b/llvm/lib/CodeGen/TargetLoweringBase.cpp @@ -420,6 +420,14 @@ static void InitLibcallNames(const char **Names, const Triple &TT) { // These are generally not available. Names[RTLIB::STACKPROTECTOR_CHECK_FAIL] = nullptr; } + + // For f16/f32 conversions, Darwin uses the standard naming scheme, instead + // of the gnueabi-style __gnu_*_ieee. + // FIXME: What about other targets? + if (TT.isOSDarwin()) { + Names[RTLIB::FPEXT_F16_F32] = "__extendhfsf2"; + Names[RTLIB::FPROUND_F32_F16] = "__truncsfhf2"; + } } /// InitLibcallCallingConvs - Set default libcall CallingConvs. |