[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