[all-commits] [llvm/llvm-project] 8e85c5: [LV][AArch64] LoopVectorizer allows scalable frem ...

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Fri Dec 22 08:05:27 PST 2023


  Branch: refs/heads/users/paschalis-mpeis/loop-vectorizer-frem-scalable
  Home:   https://github.com/llvm/llvm-project
  Commit: 8e85c511665a6acd2e30902520b6fa388f17ae7b
      https://github.com/llvm/llvm-project/commit/8e85c511665a6acd2e30902520b6fa388f17ae7b
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-22 (Fri, 22 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/arith-fp-sve.ll
    M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll

  Log Message:
  -----------
  [LV][AArch64] LoopVectorizer allows scalable frem instructions

In AArch64, when an 'frem' instruction uses scalable vectors, it will be
replaced with a vector library call. LoopVectorize is now aware of that
so it no longer returns invalid costs.

When it is not scalable, it returns the default costs, which are
delegated to the BaseT TTI Implementation.




More information about the All-commits mailing list