Use alias linkage and visibility to decide tls access mode.
[oota-llvm.git] / test / CodeGen / Mips / buildpairextractelementf64.ll
1 ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=FP32 -check-prefix=CHECK
2 ; RUN: llc -march=mips  < %s | FileCheck %s -check-prefix=FP32 -check-prefix=CHECK
3 ; RUN: llc -march=mipsel -mattr=+fp64 < %s | FileCheck %s -check-prefix=FP64 -check-prefix=CHECK
4 ; RUN: llc -march=mips -mattr=+fp64 < %s | FileCheck %s -check-prefix=FP64 -check-prefix=CHECK
5
6 @a = external global i32
7
8 ; CHECK-LABEL: f:
9 ; FP32: mtc1
10 ; FP32: mtc1
11 ; FP64-DAG: mtc1
12 ; FP64-DAG: mthc1
13
14 define double @f(i32 %a1, double %d) nounwind {
15 entry:
16   store i32 %a1, i32* @a, align 4
17   %add = fadd double %d, 2.000000e+00
18   ret double %add
19 }
20
21 ; CHECK-LABEL: f3:
22 ; FP32: mfc1
23 ; FP32: mfc1
24 ; FP64-DAG: mfc1
25 ; FP64-DAG: mfhc1
26
27 define void @f3(double %d, i32 %a1) nounwind {
28 entry:
29   tail call void @f2(i32 %a1, double %d) nounwind
30   ret void
31 }
32
33 declare void @f2(i32, double)
34