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