[PATCH] D106555: [PowerPC] handle more splat loads

Jinsong Ji via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 1 08:45:09 PDT 2021


jsji accepted this revision as: jsji.
jsji added a comment.
This revision is now accepted and ready to land.

LGTM. Thanks.



================
Comment at: llvm/lib/Target/PowerPC/PPCInstrVSX.td:4107
+def : Pat<(v8i16 (PPCldsplat ForceXForm:$A)),
+          (v8i16 (VSPLTHs 3, (LXSIHZX ForceXForm:$A)))>;
+def : Pat<(v16i8 (PPCldsplat ForceXForm:$A)),
----------------
shchenz wrote:
> jsji wrote:
> > Do we need alignment check here for `LXSIHZX`?
> I think non-alignment load may introduce perf issue, but it will not have functionality issue? Seems load like `LDX` also not checks the alignment. Do you see any issues here? 
Is it possible that we call `PPCldsplat` with unaligned address? If so, then we may load from wrong address.


================
Comment at: llvm/test/CodeGen/PowerPC/scalar_vector_test_3.ll:18
 ; P9LE-NEXT:    blr
-
+;
 ; P9BE-LABEL: s2v_test1:
----------------
shchenz wrote:
> jsji wrote:
> > Unrelated changes?
> It is also for the weird change: `xxspltd v2, f0`
I meant the `;`, anyway, I have committed the changes in bd932f7499ff7ab958f5bc2f55dcf4b06cd87950, you should be able to rebase.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106555/new/

https://reviews.llvm.org/D106555



More information about the llvm-commits mailing list