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