[llvm] Allow more dead AND operations to be eliminated (PR #123686)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 20 21:17:09 PST 2025


================
@@ -311,10 +311,12 @@ define i32 @ctpop16(i16 %x) nounwind readnone {
 ; CHECK-NEXT:    and r2, r0, r1
 ; CHECK-NEXT:    and r0, r1, r0, lsr #2
 ; CHECK-NEXT:    add r0, r2, r0
+; CHECK-NEXT:    mov r1, #15
+; CHECK-NEXT:    orr r1, r1, #3840
 ; CHECK-NEXT:    add r0, r0, r0, lsr #4
-; CHECK-NEXT:    and r1, r0, #3840
-; CHECK-NEXT:    and r0, r0, #15
-; CHECK-NEXT:    add r0, r0, r1, lsr #8
+; CHECK-NEXT:    and r0, r0, r1
----------------
arsenm wrote:

Regression 

https://github.com/llvm/llvm-project/pull/123686


More information about the llvm-commits mailing list