[llvm] [PowerPC] improve P10 store forwarding on P7 scalar to vector (PR #102330)
Chen Zheng via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 8 00:52:23 PDT 2024
================
@@ -11479,9 +11492,33 @@ SDValue PPCTargetLowering::LowerSCALAR_TO_VECTOR(SDValue Op,
EVT PtrVT = getPointerTy(DAG.getDataLayout());
SDValue FIdx = DAG.getFrameIndex(FrameIdx, PtrVT);
+ SDValue Val = Op.getOperand(0);
+ EVT ValVT = Val.getValueType();
+ // P10 hardware store forwarding requires that a single store contains all
+ // the data for the load. P10 is able to merge a pair of adjacent stores. Try
----------------
chenzheng1030 wrote:
For `adjacent stores` in P10 hardware store forwarding, do you mean there should be no instructions between these two stores in the final assembly? I tend to "no" as we have OOO on P10. But if the answer is yes, maybe we need a pseudo instruction to pack these two stores together and expand them after the schedulers... The chain in the codes can only guarantee the first store is before the second store.
https://github.com/llvm/llvm-project/pull/102330
More information about the llvm-commits
mailing list