[PATCH] D98509: [LV] Calculate max feasible scalable VF.

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 12 14:38:21 PDT 2021


MaskRay added a comment.

`Disabling scalable vectorization, because target does not support scalable vectors.` should not be emitted for non-aarch64.
Probably also a good idea not to emit it when sve is disabled on aarch64.

  % cat a.cc
  float A[128], B[128], C[128];
  
  float foo() {
    float sum = 0;
    for (int i = 0; i < 128; i++)
      C[i] = A[i] + B[i];
    return sum;
  }
  % clang++ -O2 --target=x86_64-linux-gnu -S a.cc -Rpass=loop-vectorize -Rpass-missed=loop-vectorize -Rpass-analysis=loop-vectorize
  a.cc:5:3: remark: Disabling scalable vectorization, because target does not support scalable vectors. [-Rpass-analysis=loop-vectorize]
    for (int i = 0; i < 128; i++)
    ^
  a.cc:5:3: remark: vectorized loop (vectorization width: 4, interleaved count: 2) [-Rpass=loop-vectorize]


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D98509



More information about the llvm-commits mailing list