blob: 19fa8fc752450d8e08d9298b8d4d013887fd490f [file] [log] [blame]
Akira Hatanaka4b634fa2013-03-05 22:13:04 +00001; RUN: llc -march=mips64el -mcpu=mips64r2 < %s | FileCheck %s
2
3@gld0 = external global fp128
Akira Hatanaka5f3ba9e2013-03-05 22:41:55 +00004@gld1 = external global fp128
Akira Hatanaka4b634fa2013-03-05 22:13:04 +00005
6; CHECK: foo0
Nirav Dave54e22f32017-03-14 00:34:14 +00007; CHECK-DAG: sdc1 $f12, %lo(gld0)(${{[0-9]+}})
8; CHECK-DAG: sdc1 $f13, 8(${{[0-9]+}})
Akira Hatanaka4b634fa2013-03-05 22:13:04 +00009
10define void @foo0(fp128 %a0) {
11entry:
12 store fp128 %a0, fp128* @gld0, align 16
13 ret void
14}
Akira Hatanaka3b7391d2013-03-05 22:20:28 +000015
16; CHECK: foo1
Nirav Dave54e22f32017-03-14 00:34:14 +000017; CHECK-DAG: ldc1 $f12, %lo(gld0)(${{[0-9]+}})
18; CHECK-DAG: ldc1 $f13, 8(${{[0-9]+}})
Akira Hatanaka3b7391d2013-03-05 22:20:28 +000019
20define void @foo1() {
21entry:
David Blaikiea79ac142015-02-27 21:17:42 +000022 %0 = load fp128, fp128* @gld0, align 16
Akira Hatanaka3b7391d2013-03-05 22:20:28 +000023 tail call void @foo2(fp128 %0)
24 ret void
25}
26
27declare void @foo2(fp128)
Akira Hatanaka5f3ba9e2013-03-05 22:41:55 +000028
Nirav Dave54e22f32017-03-14 00:34:14 +000029
Simon Dardisca74dd72017-01-27 11:36:52 +000030; CHECK: foo3:
Nirav Dave54e22f32017-03-14 00:34:14 +000031
32; CHECK: daddiu $[[R2:[0-9]+]], $[[R1:[0-9]+]], %lo(gld0)
Simon Dardisca74dd72017-01-27 11:36:52 +000033; CHECK: sdc1 $f0, %lo(gld0)($[[R1]])
Simon Dardisca74dd72017-01-27 11:36:52 +000034; CHECK: sdc1 $f2, 8($[[R2]])
35; CHECK: daddiu $[[R3:[0-9]+]], ${{[0-9]+}}, %hi(gld1)
36; CHECK: dsll $[[R4:[0-9]+]], $[[R3]], 16
37; CHECK: ldc1 $f0, %lo(gld1)($[[R4]])
38; CHECK: daddiu $[[R5:[0-9]]], $[[R4]], %lo(gld1)
39; CHECK: ldc1 $f2, 8($[[R5]])
40
41
Akira Hatanaka5f3ba9e2013-03-05 22:41:55 +000042define fp128 @foo3() {
43entry:
44 %call = tail call fp128 @foo4()
45 store fp128 %call, fp128* @gld0, align 16
David Blaikiea79ac142015-02-27 21:17:42 +000046 %0 = load fp128, fp128* @gld1, align 16
Akira Hatanaka5f3ba9e2013-03-05 22:41:55 +000047 ret fp128 %0
48}
49
50declare fp128 @foo4()