• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -march=mips64el -mcpu=mips64r2 < %s | FileCheck %s
2
3@gld0 = external global fp128
4@gld1 = external global fp128
5
6; CHECK: foo0
7; CHECK: sdc1  $f13, 8(${{[0-9]+}})
8; CHECK: sdc1  $f12, 0(${{[0-9]+}})
9
10define void @foo0(fp128 %a0) {
11entry:
12  store fp128 %a0, fp128* @gld0, align 16
13  ret void
14}
15
16; CHECK: foo1
17; CHECK: ldc1  $f13, 8(${{[0-9]+}})
18; CHECK: ldc1  $f12, 0(${{[0-9]+}})
19
20define void @foo1() {
21entry:
22  %0 = load fp128, fp128* @gld0, align 16
23  tail call void @foo2(fp128 %0)
24  ret void
25}
26
27declare void @foo2(fp128)
28
29; CHECK: foo3
30; CHECK: ld   $[[R0:[0-9]+]], %got_disp(gld0)
31; CHECK: sdc1 $f2, 8($[[R0]])
32; CHECK: sdc1 $f0, 0($[[R0]])
33; CHECK: ld   $[[R1:[0-9]+]], %got_disp(gld1)
34; CHECK: ldc1 $f0, 0($[[R1]])
35; CHECK: ldc1 $f2, 8($[[R1]])
36
37define fp128 @foo3() {
38entry:
39  %call = tail call fp128 @foo4()
40  store fp128 %call, fp128* @gld0, align 16
41  %0 = load fp128, fp128* @gld1, align 16
42  ret fp128 %0
43}
44
45declare fp128 @foo4()
46