[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