; RUN: opt < %s -instcombine -S | FileCheck %s | |
; rdar://11748024 | |
define i32 @a(i1 zeroext %x, i1 zeroext %y) { | |
entry: | |
; CHECK: @a | |
; CHECK: [[TMP1:%.*]] = sext i1 %y to i32 | |
; CHECK: [[TMP2:%.*]] = select i1 %x, i32 2, i32 1 | |
; CHECK-NEXT: add i32 [[TMP2]], [[TMP1]] | |
%conv = zext i1 %x to i32 | |
%conv3 = zext i1 %y to i32 | |
%conv3.neg = sub i32 0, %conv3 | |
%sub = add i32 %conv, 1 | |
%add = add i32 %sub, %conv3.neg | |
ret i32 %add | |
} |