[all-commits] [llvm/llvm-project] f66903: [TTI][AArch64][SLP] Sets the cost of an ADD reduct...

vporpo via All-commits all-commits at lists.llvm.org
Mon Aug 1 13:04:24 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f6690303732e04f43715799154f86999b49c8cff
      https://github.com/llvm/llvm-project/commit/f6690303732e04f43715799154f86999b49c8cff
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2022-08-01 (Mon, 01 Aug 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/reduce-add.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-add-i64.ll

  Log Message:
  -----------
  [TTI][AArch64][SLP] Sets the cost of an ADD reduction 2xi64 to 2.

2xi64 is the legalized type for wide reductions (like 16xi64) and setting the
cost to 2 makes `load-reduce` and `load-zext-reduce` patterns profitable.

The few performance measurments that I did on an aarch64 machine confirm that
these patterns are actually faster when vectorized.

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




More information about the All-commits mailing list