[PATCH] D66005: [ARM] Add MVE beats vector cost model

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 9 10:17:39 PDT 2019


dmgreen added inline comments.


================
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.
----------------
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.



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

https://reviews.llvm.org/D66005





More information about the llvm-commits mailing list