blob: 0861197290ae8ccd3f93e4d7a52549267a0cdbab [file] [log] [blame]
Petar Jovanovice578e972016-04-11 15:24:23 +00001; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n32 -relocation-model=pic < \
Daniel Sanders0d972702016-06-24 12:23:17 +00002; RUN: %s | FileCheck %s -check-prefixes=ALL,N32,HARD-FLOAT
Petar Jovanovice578e972016-04-11 15:24:23 +00003; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n32 -relocation-model=pic < \
Daniel Sanders0d972702016-06-24 12:23:17 +00004; RUN: %s | FileCheck %s -check-prefixes=ALL,N32,HARD-FLOAT
Petar Jovanovice578e972016-04-11 15:24:23 +00005
6; RUN: llc -march=mips64 -mcpu=mips64 -target-abi=n64 -relocation-model=pic < \
Daniel Sanders0d972702016-06-24 12:23:17 +00007; RUN: %s | FileCheck %s -check-prefixes=ALL,N64,HARD-FLOAT
Simon Dardisca74dd72017-01-27 11:36:52 +00008; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -relocation-model=pic \
9; RUN: < %s | FileCheck %s -check-prefixes=ALL,N64,HARD-FLOAT
Petar Jovanovice578e972016-04-11 15:24:23 +000010
11; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n32 \
Daniel Sanders0d972702016-06-24 12:23:17 +000012; RUN: -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,N32,SOFT-FLOAT
Petar Jovanovice578e972016-04-11 15:24:23 +000013; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n32 \
Daniel Sanders0d972702016-06-24 12:23:17 +000014; RUN: -relocation-model=pic < %s | FileCheck %s -check-prefixes=ALL,N32,SOFT-FLOAT
Zlatko Buljanfba68932016-03-14 12:50:23 +000015
16; RUN: llc -march=mips64 -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < %s \
Simon Dardisca74dd72017-01-27 11:36:52 +000017; RUN: -relocation-model=pic | FileCheck %s \
18; RUN: -check-prefixes=ALL,N64,SOFT-FLOAT
Zlatko Buljanfba68932016-03-14 12:50:23 +000019; RUN: llc -march=mips64el -mcpu=mips64 -mattr=+soft-float -target-abi=n64 < \
Simon Dardisca74dd72017-01-27 11:36:52 +000020; RUN: %s -relocation-model=pic | FileCheck %s \
21; RUN: -check-prefixes=ALL,N64,SOFT-FLOAT
Zlatko Buljanfba68932016-03-14 12:50:23 +000022
23@fp128 = global fp128 zeroinitializer
24
25define void @roundl_call(fp128 %value) {
26entry:
27; ALL-LABEL: roundl_call:
28; N32: lw $25, %call16(roundl)($gp)
29; N64: ld $25, %call16(roundl)($gp)
30
31; SOFT-FLOAT: sd $4, 8(${{[0-9]+}})
32; SOFT-FLOAT: sd $2, 0(${{[0-9]+}})
33
34; HARD-FLOAT: sdc1 $f2, 8(${{[0-9]+}})
35; HARD-FLOAT: sdc1 $f0, 0(${{[0-9]+}})
36
37 %call = call fp128 @roundl(fp128 %value)
38 store fp128 %call, fp128* @fp128
39 ret void
40}
41
42declare fp128 @roundl(fp128) nounwind readnone