[llvm-branch-commits] [llvm-branch] r271127 - Merging r263428:
Daniel Sanders via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sat May 28 09:11:59 PDT 2016
Author: dsanders
Date: Sat May 28 11:11:58 2016
New Revision: 271127
URL: http://llvm.org/viewvc/llvm-project?rev=271127&view=rev
Log:
Merging r263428:
------------------------------------------------------------------------
r263428 | zbuljan | 2016-03-14 12:50:23 +0000 (Mon, 14 Mar 2016) | 3 lines
[mips] Fix an issue with long double when function roundl is defined
Differential Revision: http://reviews.llvm.org/D17760
------------------------------------------------------------------------
Added:
llvm/branches/release_38/test/CodeGen/Mips/cconv/roundl-call.ll
Modified:
llvm/branches/release_38/lib/Target/Mips/MipsCCState.cpp
Modified: llvm/branches/release_38/lib/Target/Mips/MipsCCState.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/Target/Mips/MipsCCState.cpp?rev=271127&r1=271126&r2=271127&view=diff
==============================================================================
--- llvm/branches/release_38/lib/Target/Mips/MipsCCState.cpp (original)
+++ llvm/branches/release_38/lib/Target/Mips/MipsCCState.cpp Sat May 28 11:11:58 2016
@@ -26,8 +26,8 @@ static bool isF128SoftLibCall(const char
"ceill", "copysignl", "cosl", "exp2l",
"expl", "floorl", "fmal", "fmodl",
"log10l", "log2l", "logl", "nearbyintl",
- "powl", "rintl", "sinl", "sqrtl",
- "truncl"};
+ "powl", "rintl", "roundl", "sinl",
+ "sqrtl", "truncl"};
// Check that LibCalls is sorted alphabetically.
auto Comp = [](const char *S1, const char *S2) { return strcmp(S1, S2) < 0; };
Added: llvm/branches/release_38/test/CodeGen/Mips/cconv/roundl-call.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/test/CodeGen/Mips/cconv/roundl-call.ll?rev=271127&view=auto
==============================================================================
--- llvm/branches/release_38/test/CodeGen/Mips/cconv/roundl-call.ll (added)
+++ llvm/branches/release_38/test/CodeGen/Mips/cconv/roundl-call.ll Sat May 28 11:11:58 2016
@@ -0,0 +1,44 @@
+; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n32 < %s | FileCheck %s \
+; RUN: -check-prefix=ALL -check-prefix=N32 -check-prefix=HARD-FLOAT
+; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n32 < %s | FileCheck %s \
+; RUN: -check-prefix=ALL -check-prefix=N32 -check-prefix=HARD-FLOAT
+
+; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n64 < %s | FileCheck %s \
+; RUN: -check-prefix=ALL -check-prefix=N64 -check-prefix=HARD-FLOAT
+; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 < %s | FileCheck %s \
+; RUN: -check-prefix=ALL -check-prefix=N64 -check-prefix=HARD-FLOAT
+
+; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n32 < %s \
+; RUN: | FileCheck %s -check-prefix=ALL -check-prefix=N32 \
+; RUN: -check-prefix=SOFT-FLOAT
+; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n32 < \
+; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N32 \
+; RUN: -check-prefix=SOFT-FLOAT
+
+; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < %s \
+; RUN: | FileCheck %s -check-prefix=ALL -check-prefix=N64 \
+; RUN: -check-prefix=SOFT-FLOAT
+; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < \
+; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N64 \
+; RUN: -check-prefix=SOFT-FLOAT
+
+ at fp128 = global fp128 zeroinitializer
+
+define void @roundl_call(fp128 %value) {
+entry:
+; ALL-LABEL: roundl_call:
+; N32: lw $25, %call16(roundl)($gp)
+; N64: ld $25, %call16(roundl)($gp)
+
+; SOFT-FLOAT: sd $4, 8(${{[0-9]+}})
+; SOFT-FLOAT: sd $2, 0(${{[0-9]+}})
+
+; HARD-FLOAT: sdc1 $f2, 8(${{[0-9]+}})
+; HARD-FLOAT: sdc1 $f0, 0(${{[0-9]+}})
+
+ %call = call fp128 @roundl(fp128 %value)
+ store fp128 %call, fp128* @fp128
+ ret void
+}
+
+declare fp128 @roundl(fp128) nounwind readnone
More information about the llvm-branch-commits
mailing list