[llvm] [RISCV] Use VECREDUCE_OR instead of VP_REDUCE_OR in combineVectorSizedSetCCEquality. NFCish (PR #207122)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 1 22:51:36 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-risc-v
Author: Craig Topper (topperc)
<details>
<summary>Changes</summary>
VECREDUCE_OR doesn't require a VL or mask. We generally don't create VP operations for fixed vectors.
This should produce the same result in most case, but I can't guarantee it's completely NFC
---
Full diff: https://github.com/llvm/llvm-project/pull/207122.diff
1 Files Affected:
- (modified) llvm/lib/Target/RISCV/RISCVISelLowering.cpp (+1-6)
``````````diff
diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
index 6468d4d732053..ea5844dea1dc4 100644
--- a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+++ b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp
@@ -18079,14 +18079,9 @@ combineVectorSizedSetCCEquality(EVT VT, SDValue X, SDValue Y, ISD::CondCode CC,
VecY = DAG.getConstant(0, DL, VecVT);
else
VecY = DAG.getBitcast(VecVT, Y);
- SDValue Mask = DAG.getAllOnesConstant(DL, CmpVT);
- SDValue VL = DAG.getConstant(NumElts, DL, XLenVT);
SDValue Cmp = DAG.getSetCC(DL, CmpVT, VecX, VecY, ISD::SETNE);
- return DAG.getSetCC(DL, VT,
- DAG.getNode(ISD::VP_REDUCE_OR, DL, XLenVT,
- DAG.getConstant(0, DL, XLenVT), Cmp, Mask,
- VL),
+ return DAG.getSetCC(DL, VT, DAG.getNode(ISD::VECREDUCE_OR, DL, XLenVT, Cmp),
DAG.getConstant(0, DL, XLenVT), CC);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/207122
More information about the llvm-commits
mailing list