[PATCH] D66005: [ARM] Add MVE beats vector cost model
Sam Parker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 12 02:24:57 PDT 2019
samparker accepted this revision.
samparker added a comment.
This revision is now accepted and ready to land.
LGTM
================
Comment at: llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp:396
+ // We say MVE moves costs at least the MVEVectorCostFactor, even though
+ // they are scalar instructions. This helps prevent mixing scalar and
+ // vector.
----------------
dmgreen wrote:
> samparker wrote:
> > What part of the architecture suggests that we should avoid mixing scalar and vector?
> The idea was to stop all the vmov's into and out of gpr registers. For floats it would be better than that, as they are already in the correct registers (I had a check for that but took it out for some reason).
>
> This was also to try and stop cases where we vectorise, just to end up serialising the result. It would be better to use scalar and not loose out on things like parallel dsp or unrolling, just for to use a vector load and store.
>
Ok, maybe add this to the comment?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66005/new/
https://reviews.llvm.org/D66005
More information about the llvm-commits
mailing list