[llvm] [RISCV] Rewrite deinterleave load as vlse optimization as DAG combine (PR #150049)
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 25 11:40:02 PDT 2025
================
@@ -20764,6 +20764,54 @@ SDValue RISCVTargetLowering::PerformDAGCombine(SDNode *N,
}
break;
}
+ case RISCVISD::TUPLE_EXTRACT: {
+ EVT VT = N->getValueType(0);
+ SDValue Tuple = N->getOperand(0);
+ unsigned Idx = N->getConstantOperandVal(1);
+ if (!Tuple.hasOneUse() || Tuple.getOpcode() != ISD::INTRINSIC_W_CHAIN)
+ break;
+
+ unsigned NF = 0;
+ switch (Tuple.getConstantOperandVal(1)) {
----------------
preames wrote:
I rewrote this a bit, is the new code cleaner? Doesn't merge with that routine, but possibly still progress?
https://github.com/llvm/llvm-project/pull/150049
More information about the llvm-commits
mailing list