Implement vector-select support for avx256. Refactor the vblend implementation to...
[oota-llvm.git] / test / CodeGen / Mips / mips1f64ldst.ll
1 ; RUN: llc  < %s -march=mipsel -mcpu=mips1 | FileCheck %s -check-prefix=CHECK-EL
2 ; RUN: llc  < %s -march=mips -mcpu=mips1 | FileCheck %s -check-prefix=CHECK-EB
3
4 @g1 = common global double 0.000000e+00, align 8
5 @g2 = common global double 0.000000e+00, align 8
6
7 define double @foo0(double %d0) nounwind {
8 entry:
9 ; CHECK-EL: lw  $[[R0:[0-9]+]], %got($CPI0_0)
10 ; CHECK-EL: lwc1  $f[[R1:[0-9]+]], %lo($CPI0_0)($[[R0]])
11 ; CHECK-EL: lwc1  $f{{[0-9]+}}, %lo($CPI0_0+4)($[[R0]])
12 ; CHECK-EL: add.d $f[[R2:[0-9]+]], $f12, $f[[R1]]
13 ; CHECK-EL: lw  $[[R3:[0-9]+]], %got(g1)
14 ; CHECK-EL: swc1  $f[[R2]], 0($[[R3]])
15 ; CHECK-EL: swc1  $f{{[0-9]+}}, 4($[[R3]])
16 ; CHECK-EL: lw  $[[R4:[0-9]+]], %got(g2)
17 ; CHECK-EL: lwc1  $f0, 0($[[R4]])
18 ; CHECK-EL: lwc1  $f1, 4($[[R4]])
19
20 ; CHECK-EB: lw  $[[R0:[0-9]+]], %got($CPI0_0)
21 ; CHECK-EB: lwc1  $f{{[0-9]+}}, %lo($CPI0_0)($[[R0]])
22 ; CHECK-EB: lwc1  $f[[R1:[0-9]+]], %lo($CPI0_0+4)($[[R0]])
23 ; CHECK-EB: add.d $f[[R2:[0-9]+]], $f12, $f[[R1]]
24 ; CHECK-EB: lw  $[[R3:[0-9]+]], %got(g1)
25 ; CHECK-EB: swc1  $f{{[0-9]+}}, 0($[[R3]])
26 ; CHECK-EB: swc1  $f[[R2]], 4($[[R3]])
27 ; CHECK-EB: lw  $[[R4:[0-9]+]], %got(g2)
28 ; CHECK-EB: lwc1  $f1, 0($[[R4]])
29 ; CHECK-EB: lwc1  $f0, 4($[[R4]])
30
31   %add = fadd double %d0, 2.000000e+00
32   store double %add, double* @g1, align 8
33   %tmp1 = load double* @g2, align 8
34   ret double %tmp1
35 }
36