• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -march=mipsel -relocation-model=pic -mno-ldc1-sdc1 < %s | \
2; RUN: FileCheck %s -check-prefix=LE-PIC
3; RUN: llc -march=mipsel -relocation-model=static -mno-ldc1-sdc1 < %s | \
4; RUN: FileCheck %s -check-prefix=LE-STATIC
5; RUN: llc -march=mips -relocation-model=pic -mno-ldc1-sdc1 < %s | \
6; RUN: FileCheck %s -check-prefix=BE-PIC
7; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=CHECK-LDC1-SDC1
8
9@g0 = common global double 0.000000e+00, align 8
10
11; LE-PIC-LABEL: test_ldc1:
12; LE-PIC: lwc1 $f0, 0(${{[0-9]+}})
13; LE-PIC: lwc1 $f1, 4(${{[0-9]+}})
14; LE-STATIC-LABEL: test_ldc1:
15; LE-STATIC: lwc1 $f0, %lo(g0)(${{[0-9]+}})
16; LE-STATIC: lwc1 $f1, %lo(g0+4)(${{[0-9]+}})
17; BE-PIC-LABEL: test_ldc1:
18; BE-PIC: lwc1 $f1, 0(${{[0-9]+}})
19; BE-PIC: lwc1 $f0, 4(${{[0-9]+}})
20; CHECK-LDC1-SDC1-LABEL: test_ldc1:
21; CHECK-LDC1-SDC1: ldc1 $f{{[0-9]+}}
22
23define double @test_ldc1() {
24entry:
25  %0 = load double* @g0, align 8
26  ret double %0
27}
28
29; LE-PIC-LABEL: test_sdc1:
30; LE-PIC: swc1 $f12, 0(${{[0-9]+}})
31; LE-PIC: swc1 $f13, 4(${{[0-9]+}})
32; LE-STATIC-LABEL: test_sdc1:
33; LE-STATIC: swc1 $f12, %lo(g0)(${{[0-9]+}})
34; LE-STATIC: swc1 $f13, %lo(g0+4)(${{[0-9]+}})
35; BE-PIC-LABEL: test_sdc1:
36; BE-PIC: swc1 $f13, 0(${{[0-9]+}})
37; BE-PIC: swc1 $f12, 4(${{[0-9]+}})
38; CHECK-LDC1-SDC1-LABEL: test_sdc1:
39; CHECK-LDC1-SDC1: sdc1 $f{{[0-9]+}}
40
41define void @test_sdc1(double %a) {
42entry:
43  store double %a, double* @g0, align 8
44  ret void
45}
46