[llvm] [VPlan] Fold NOT into predicate of wide compares. (PR #129430)

David Sherwood via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 5 08:37:55 PST 2025


================
@@ -1149,13 +1147,12 @@ define void @ptr_induction_remove_dead_recipe(ptr %start, ptr %end) {
 ; CHECK-NEXT:     CLONE ir<%ptr.iv.next> = getelementptr inbounds vp<[[PTR_IV]]>, ir<-1>
 ; CHECK-NEXT:     vp<[[VEC_PTR:%.+]]> = reverse-vector-pointer inbounds ir<%ptr.iv.next>, vp<[[VF]]>
 ; CHECK-NEXT:     WIDEN ir<%l> = load vp<[[VEC_PTR]]>
-; CHECK-NEXT:     WIDEN ir<%c.1> = icmp eq ir<%l>, ir<0>
-; CHECK-NEXT:     EMIT vp<[[NEG:%.+]]> = not ir<%c.1>
+; CHECK-NEXT:     WIDEN ir<%c.1> = icmp ne ir<%l>, ir<0>
 ; CHECK-NEXT:   Successor(s): pred.store
 ; CHECK-EMPTY:
 ; CHECK-NEXT:   <xVFxUF> pred.store: {
 ; CHECK-NEXT:     pred.store.entry:
-; CHECK-NEXT:       BRANCH-ON-MASK vp<[[NEG]]>
+; CHECK-NEXT:       BRANCH-ON-MASK ir<%c.1>
----------------
david-arm wrote:

nit: In the changes to llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll you removed any reference to IR names. Not sure if you also want to do that here?

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


More information about the llvm-commits mailing list