[llvm] [RISCV] Use ISD::XOR instead of RISCVISD::VMXOR_VL in lowerVectorMaskVecReduction of scalable ISD::VECREDUCE_AND (PR #121812)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 6 13:31:09 PST 2025
================
@@ -10154,7 +10154,10 @@ SDValue RISCVTargetLowering::lowerVectorMaskVecReduction(SDValue Op,
case ISD::VP_REDUCE_AND: {
// vcpop ~x == 0
SDValue TrueMask = DAG.getNode(RISCVISD::VMSET_VL, DL, ContainerVT, VL);
- Vec = DAG.getNode(RISCVISD::VMXOR_VL, DL, ContainerVT, Vec, TrueMask, VL);
+ if (IsVP || VecVT.isFixedLengthVector())
----------------
topperc wrote:
It caused an extra vtype toggle for fixed vectors. I didn't dig any further.
https://github.com/llvm/llvm-project/pull/121812
More information about the llvm-commits
mailing list