[llvm] 21f21d1 - [RISCV] Use VECREDUCE_OR instead of VP_REDUCE_OR in combineVectorSizedSetCCEquality. NFCish (#207122)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 2 07:06:55 PDT 2026


Author: Craig Topper
Date: 2026-07-02T07:06:50-07:00
New Revision: 21f21d1cbb182907c2bc01fa3d4896b27c71f71a

URL: https://github.com/llvm/llvm-project/commit/21f21d1cbb182907c2bc01fa3d4896b27c71f71a
DIFF: https://github.com/llvm/llvm-project/commit/21f21d1cbb182907c2bc01fa3d4896b27c71f71a.diff

LOG: [RISCV] Use VECREDUCE_OR instead of VP_REDUCE_OR in combineVectorSizedSetCCEquality. NFCish (#207122)

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

Added: 
    

Modified: 
    llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Removed: 
    


################################################################################
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);
 }
 


        


More information about the llvm-commits mailing list