[clang] [llvm] [PowerPC] Add Support for BCDSHIFT, BCDSHIFTR, BCDTRUNC, BCDUTRUNC, and BCDUSHIFT instruction support (PR #154715)
Kai Nacke via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 18 11:58:03 PDT 2025
================
@@ -11151,6 +11161,20 @@ SDValue PPCTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
SDLoc dl(Op);
+ // Lowers BCD intrinsics with rounding operand
+ auto MapNodeWithSplatVector = [&](unsigned Opcode) -> SDValue {
+ SDValue SplatVal =
+ DAG.getNode(ISD::SPLAT_VECTOR, dl, MVT::v4i32, Op.getOperand(2));
----------------
redstar wrote:
You cannot generate a SPLAT_VECTOR with a pattern. You either have to create patterns for all the PPC opcodes SPLAT_VECTOR maps to, or introducing a pseudo instruction which is resolved later. Both seems more work than the simple function here.
https://github.com/llvm/llvm-project/pull/154715
More information about the llvm-commits
mailing list