llvm.org GIT mirror llvm / e2bd0a1
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 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_38@271127 91177308-0d34-0410-b5e6-96231b3b80d8 Daniel Sanders 4 years ago
2 changed file(s) with 46 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
2525 "ceill", "copysignl", "cosl", "exp2l",
2626 "expl", "floorl", "fmal", "fmodl",
2727 "log10l", "log2l", "logl", "nearbyintl",
28 "powl", "rintl", "sinl", "sqrtl",
29 "truncl"};
28 "powl", "rintl", "roundl", "sinl",
29 "sqrtl", "truncl"};
3030
3131 // Check that LibCalls is sorted alphabetically.
3232 auto Comp = [](const char *S1, const char *S2) { return strcmp(S1, S2) < 0; };
0 ; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n32 < %s | FileCheck %s \
1 ; RUN: -check-prefix=ALL -check-prefix=N32 -check-prefix=HARD-FLOAT
2 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n32 < %s | FileCheck %s \
3 ; RUN: -check-prefix=ALL -check-prefix=N32 -check-prefix=HARD-FLOAT
4
5 ; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n64 < %s | FileCheck %s \
6 ; RUN: -check-prefix=ALL -check-prefix=N64 -check-prefix=HARD-FLOAT
7 ; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 < %s | FileCheck %s \
8 ; RUN: -check-prefix=ALL -check-prefix=N64 -check-prefix=HARD-FLOAT
9
10 ; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n32 < %s \
11 ; RUN: | FileCheck %s -check-prefix=ALL -check-prefix=N32 \
12 ; RUN: -check-prefix=SOFT-FLOAT
13 ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n32 < \
14 ; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N32 \
15 ; RUN: -check-prefix=SOFT-FLOAT
16
17 ; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < %s \
18 ; RUN: | FileCheck %s -check-prefix=ALL -check-prefix=N64 \
19 ; RUN: -check-prefix=SOFT-FLOAT
20 ; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < \
21 ; RUN: %s | FileCheck %s -check-prefix=ALL -check-prefix=N64 \
22 ; RUN: -check-prefix=SOFT-FLOAT
23
24 @fp128 = global fp128 zeroinitializer
25
26 define void @roundl_call(fp128 %value) {
27 entry:
28 ; ALL-LABEL: roundl_call:
29 ; N32: lw $25, %call16(roundl)($gp)
30 ; N64: ld $25, %call16(roundl)($gp)
31
32 ; SOFT-FLOAT: sd $4, 8(${{[0-9]+}})
33 ; SOFT-FLOAT: sd $2, 0(${{[0-9]+}})
34
35 ; HARD-FLOAT: sdc1 $f2, 8(${{[0-9]+}})
36 ; HARD-FLOAT: sdc1 $f0, 0(${{[0-9]+}})
37
38 %call = call fp128 @roundl(fp128 %value)
39 store fp128 %call, fp128* @fp128
40 ret void
41 }
42
43 declare fp128 @roundl(fp128) nounwind readnone