Home | History | Annotate | Download | only in Mips
      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 
     23 define double @test_ldc1() {
     24 entry:
     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 
     41 define void @test_sdc1(double %a) {
     42 entry:
     43   store double %a, double* @g0, align 8
     44   ret void
     45 }
     46