summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/2009-03-25-TestBug.ll
blob: cc1d73da05c5afbeb2eba943c32c6a05f5a3e1a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
; RUN: llc < %s -march=x86 | FileCheck %s
; rdar://6661955

; CHECK-NOT: and
; CHECK-NOT: shr

@hello = internal constant [7 x i8] c"hello\0A\00"
@world = internal constant [7 x i8] c"world\0A\00"

define void @func(i32* %b) nounwind {
bb1579.i.i:		; preds = %bb1514.i.i, %bb191.i.i
	%tmp176 = load i32* %b, align 4
	%tmp177 = and i32 %tmp176, 2
	%tmp178 = icmp eq i32 %tmp177, 0
        br i1 %tmp178, label %hello, label %world

hello:
	%h = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([7 x i8]* @hello, i32 0, i32 0))
        ret void

world:
	%w = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([7 x i8]* @world, i32 0, i32 0))
        ret void
}

declare i32 @printf(i8*, ...) nounwind