[PATCH] D118979: [AArch64] Set maximum VF with shouldMaximizeVectorBandwidth

JinGu Kang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 7 03:16:53 PST 2022


jaykang10 added a comment.

In D118979#3300227 <https://reviews.llvm.org/D118979#3300227>, @dmgreen wrote:

> Hello. This option makes a lot of sense to me, for the way AArch64 lowers vectors with extensions in them. I have a downstream set of benchmarks which, whilst not amazing, do show changes in vectorization quite well. There are some great improvements, but some things are not looking so healthy. I will send you some details. We may need to work through improving some of them, either by fixing the costs or improving the codegen for larger than legal types.

Thanks for comment! @dmgreen

I agree with you. We need to improve the performance regressions from this Max VF.



================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h:139
+  bool shouldMaximizeVectorBandwidth() const {
+    if (ST->hasSVE())
+      return false;
----------------
dmgreen wrote:
> It's generally best if fixed length vectorization doesn't start behaving differently just because SVE is available (unless it can be better, of course). If we expect MaximizeVectorBandwidth to be better, but doesn't work for scalable vectors well, can we just try to disable the scalable VFs from being widened?
I think it could be good to have some comments from SVE people... If possible, can you add them as reviewer please? I do not know well who work on it...


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

https://reviews.llvm.org/D118979



More information about the llvm-commits mailing list