Home | History | Annotate | Download | only in X86
      1 ; RUN: llc -march=x86 < %s | FileCheck %s
      2 
      3 @array = weak global [4 x i32] zeroinitializer
      4 
      5 define 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 
     12 entry:
     13   %tmp2 = lshr i32 %x, 2
     14   %tmp3 = and i32 %tmp2, 3
     15   %tmp4 = getelementptr [4 x i32], [4 x i32]* @array, i32 0, i32 %tmp3
     16   %tmp5 = load i32, i32* %tmp4, align 4
     17   ret i32 %tmp5
     18 }
     19 
     20