[all-commits] [llvm/llvm-project] a72162: [AARCH64] Enable STORE of v4i8 to help more vector...

weiguozhi via All-commits all-commits at lists.llvm.org
Fri Mar 31 10:03:45 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a72162cc529cbfb6587176332b9421fbfb638936
      https://github.com/llvm/llvm-project/commit/a72162cc529cbfb6587176332b9421fbfb638936
  Author: Guozhi Wei <carrot at google.com>
  Date:   2023-03-31 (Fri, 31 Mar 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    A llvm/test/Transforms/SLPVectorizer/AArch64/32-bit.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll

  Log Message:
  -----------
  [AARCH64] Enable STORE of v4i8 to help more vectorization opportunities

For the attached test case, currently llvm generates instructions to load/or/store the bytes one by one. Although NEON doesn't support v4i8 natively, we can promote it to v4i16 and operate on v4i16 vectors. So this patch override getStoreMinimumVF and specify the minimum VF for i8 vector is v4i8.

Differential Revision: https://reviews.llvm.org/D145614




More information about the All-commits mailing list