Merging r213883:

------------------------------------------------------------------------
r213883 | compnerd | 2014-07-24 10:46:36 -0700 (Thu, 24 Jul 2014) | 5 lines

X86: correct library call setup for Windows itanium

This target is identical to the Windows MSVC (and follows Microsoft ABI for C).
Correct the library call setup for this target.  The same set of library calls
are missing on this environment.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_35@214686 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2014-08-04 04:27:37 +00:00
parent 0275b43b19
commit 7eef54e612
2 changed files with 17 additions and 1 deletions

View File

@ -426,7 +426,7 @@ static void initialize(TargetLibraryInfo &TLI, const Triple &T,
TLI.setUnavailable(LibFunc::fiprintf);
}
if (T.isKnownWindowsMSVCEnvironment()) {
if (T.isKnownWindowsMSVCEnvironment() || T.isWindowsItaniumEnvironment()) {
// Win32 does not support long double
TLI.setUnavailable(LibFunc::acosl);
TLI.setUnavailable(LibFunc::asinl);

View File

@ -0,0 +1,16 @@
; RUN: opt -mtriple i686-windows-itanium -O2 -o - %s | llvm-dis | FileCheck %s
target triple = "i686-windows-itanium"
declare dllimport double @floor(double)
define dllexport float @test(float %f) {
%conv = fpext float %f to double
%call = tail call double @floor(double %conv)
%cast = fptrunc double %call to float
ret float %cast
}
; CHECK-NOT: floorf
; CHECK: floor