0d5906a8a11cf73cc0621dfc208a9fa009aad57e
[oota-llvm.git] / test / CodeGen / Mips / Fast-ISel / simplestorefp1.ll
1 ; RUN: llc -march=mipsel -relocation-model=pic -O0 -mips-fast-isel -fast-isel-abort -mcpu=mips32r2 \
2 ; RUN:     < %s | FileCheck %s
3
4 @f = common global float 0.000000e+00, align 4
5 @de = common global double 0.000000e+00, align 8
6
7 ; Function Attrs: nounwind
8 define void @f1() #0 {
9 entry:
10   store float 0x3FFA76C8C0000000, float* @f, align 4
11   ret void
12 ; CHECK:        .ent    f1
13 ; CHECK:        lui     $[[REG1:[0-9]+]], 16339
14 ; CHECK:        ori     $[[REG2:[0-9]+]], $[[REG1]], 46662
15 ; CHECK:        mtc1    $[[REG2]], $f[[REG3:[0-9]+]]
16 ; CHECK:        lw      $[[REG4:[0-9]+]], %got(f)(${{[0-9]+}})
17 ; CHECK:        swc1    $f[[REG3]], 0($[[REG4]])
18 ; CHECK:        .end    f1
19
20 }
21
22 ; Function Attrs: nounwind
23 define void @d1() #0 {
24 entry:
25   store double 1.234567e+00, double* @de, align 8
26 ; CHECK:        .ent    d1
27 ; CHECK:        lui     $[[REG1a:[0-9]+]], 16371
28 ; CHECK:        ori     $[[REG2a:[0-9]+]], $[[REG1a]], 49353
29 ; CHECK:        lui     $[[REG1b:[0-9]+]], 21403
30 ; CHECK:        ori     $[[REG2b:[0-9]+]], $[[REG1b]], 34951
31 ; CHECK:        mtc1    $[[REG2b]], $f[[REG3b:[0-9]+]]
32 ; CHECK:        mtc1    $[[REG2a]], $f[[REG3a:[0-9]+]]
33 ; CHECK:        sdc1    $f[[REG3b]], 0(${{[0-9]+}})
34 ; CHECK:        .end    d1
35   ret void
36 }
37
38 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
39