1; RUN: llc -march=x86 < %s | FileCheck %s
2
3@array = weak global [4 x i32] zeroinitializer
4
5define i32 @test_lshr_and(i32 %x) {
6; CHECK-LABEL: test_lshr_and:
7; CHECK-NOT: shrl
8; CHECK: andl $12,
9; CHECK: movl {{.*}}array{{.*}},
10; CHECK: ret
11
12entry:
13  %tmp2 = lshr i32 %x, 2
14  %tmp3 = and i32 %tmp2, 3
15  %tmp4 = getelementptr [4 x i32]* @array, i32 0, i32 %tmp3
16  %tmp5 = load i32* %tmp4, align 4
17  ret i32 %tmp5
18}
19
20