1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -S | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; rdar://11748024 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdefine i32 @a(i1 zeroext %x, i1 zeroext %y) { 5*9880d681SAndroid Build Coastguard Workerentry: 6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @a( 7*9880d681SAndroid Build Coastguard Worker; CHECK: [[TMP1:%.*]] = sext i1 %y to i32 8*9880d681SAndroid Build Coastguard Worker; CHECK: [[TMP2:%.*]] = select i1 %x, i32 2, i32 1 9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: add nsw i32 [[TMP2]], [[TMP1]] 10*9880d681SAndroid Build Coastguard Worker %conv = zext i1 %x to i32 11*9880d681SAndroid Build Coastguard Worker %conv3 = zext i1 %y to i32 12*9880d681SAndroid Build Coastguard Worker %conv3.neg = sub i32 0, %conv3 13*9880d681SAndroid Build Coastguard Worker %sub = add i32 %conv, 1 14*9880d681SAndroid Build Coastguard Worker %add = add i32 %sub, %conv3.neg 15*9880d681SAndroid Build Coastguard Worker ret i32 %add 16*9880d681SAndroid Build Coastguard Worker} 17