Merging r261039:
[oota-llvm.git] / test / CodeGen / X86 / 2009-03-25-TestBug.ll
1 ; RUN: llc < %s -march=x86 | FileCheck %s
2 ; rdar://6661955
3
4 ; CHECK-NOT: and
5 ; CHECK-NOT: shr
6
7 @hello = internal constant [7 x i8] c"hello\0A\00"
8 @world = internal constant [7 x i8] c"world\0A\00"
9
10 define void @func(i32* %b) nounwind {
11 bb1579.i.i:             ; preds = %bb1514.i.i, %bb191.i.i
12         %tmp176 = load i32, i32* %b, align 4
13         %tmp177 = and i32 %tmp176, 2
14         %tmp178 = icmp eq i32 %tmp177, 0
15         br i1 %tmp178, label %hello, label %world
16
17 hello:
18         %h = tail call i32 (i8*, ...) @printf( i8* getelementptr ([7 x i8], [7 x i8]* @hello, i32 0, i32 0))
19         ret void
20
21 world:
22         %w = tail call i32 (i8*, ...) @printf( i8* getelementptr ([7 x i8], [7 x i8]* @world, i32 0, i32 0))
23         ret void
24 }
25
26 declare i32 @printf(i8*, ...) nounwind