[x86] Fold extract_vector_elt of a load into the Load's address computation.
[oota-llvm.git] / test / CodeGen / X86 / expand-opaque-const.ll
1 ; RUN: llc -mcpu=generic -O1 -relocation-model=pic < %s | FileCheck %s
2 target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
3 target triple = "i686-apple-darwin"
4
5 define i64 @test_lshr() {
6 entry:
7 ; CHECK-NOT: movl $-1, 16(%esp)
8 ; CHECK-NOT: movl  $-1, %eax
9   %retval = alloca i64
10   %op1 = alloca i64
11   %op2 = alloca i64
12   store i64 -6687208052682386272, i64* %op1
13   store i64 7106745059734980448, i64* %op2
14   %tmp1 = load i64* %op1
15   %tmp2 = load i64* %op2
16   %tmp = xor i64 %tmp2, 7106745059734980448
17   %tmp3 = lshr i64 %tmp1, %tmp
18   store i64 %tmp3, i64* %retval
19   %tmp4 = load i64* %retval
20   ret i64 %tmp4
21 }