[llvm] [VPlan] Use VPlan operand order for VPBlendRecipes. (PR #139475)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 13 06:09:21 PDT 2025
================
@@ -131,12 +131,13 @@ define void @blend_chain_iv(i1 %c) {
; CHECK: [[VECTOR_PH]]:
; CHECK-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <4 x i1> poison, i1 [[C]], i64 0
; CHECK-NEXT: [[BROADCAST_SPLAT:%.*]] = shufflevector <4 x i1> [[BROADCAST_SPLATINSERT]], <4 x i1> poison, <4 x i32> zeroinitializer
-; CHECK-NEXT: [[TMP0:%.*]] = select <4 x i1> [[BROADCAST_SPLAT]], <4 x i1> [[BROADCAST_SPLAT]], <4 x i1> zeroinitializer
+; CHECK-NEXT: [[TMP0:%.*]] = xor <4 x i1> [[BROADCAST_SPLAT]], splat (i1 true)
+; CHECK-NEXT: [[TMP10:%.*]] = select <4 x i1> [[BROADCAST_SPLAT]], <4 x i1> [[TMP0]], <4 x i1> zeroinitializer
----------------
ayalz wrote:
Original code seems simpler, hopefully unsensitive to VPlan's cost model and gets optimized later, to avoid potential degradations. May be good to fold in VPlan.
https://github.com/llvm/llvm-project/pull/139475
More information about the llvm-commits
mailing list