[llvm] [RISCV] Handle scalable ops with < EEW / 2 narrow types in combineBinOp_VLToVWBinOp_VL (PR #84158)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 18 01:21:06 PDT 2024
================
@@ -14112,7 +14102,9 @@ static SDValue combineBinOp_VLToVWBinOp_VL(SDNode *N,
TargetLowering::DAGCombinerInfo &DCI,
const RISCVSubtarget &Subtarget) {
SelectionDAG &DAG = DCI.DAG;
- if (DCI.isBeforeLegalize())
+ // Don't perform this until types are legalized and any legal i1 types are
+ // custom lowered to avoid introducing unselectable V{S,Z}EXT_VLs.
+ if (DCI.isBeforeLegalizeOps())
----------------
lukel97 wrote:
I've updated the PR to instead check that the narrow element type isn't i1 across the different possible extend ops
https://github.com/llvm/llvm-project/pull/84158
More information about the llvm-commits
mailing list