[llvm] [InstCombine] Fix Failure to fold (and %x, (sext i1 %m)) -> (select %m, %x, 0) with multiple uses of %m (PR #81409)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 16 08:46:32 PST 2024
================
@@ -50,7 +50,7 @@ define i32 @and_sext_to_sel_multi_use(i32 %x, i1 %y) {
; CHECK-LABEL: @and_sext_to_sel_multi_use(
; CHECK-NEXT: [[SEXT:%.*]] = sext i1 [[Y:%.*]] to i32
; CHECK-NEXT: call void @use(i32 [[SEXT]])
-; CHECK-NEXT: [[R:%.*]] = and i32 [[SEXT]], [[X:%.*]]
+; CHECK-NEXT: [[R:%.*]] = select i1 [[Y]], i32 [[X:%.*]], i32 0
----------------
goldsteinn wrote:
Think this one could classified as regression but probably not a big deal.
https://github.com/llvm/llvm-project/pull/81409
More information about the llvm-commits
mailing list