[all-commits] [llvm/llvm-project] 871f77: [TTI][X86] Merge getInterleavedMemoryOpCostAVX2 in...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Thu Oct 14 10:46:56 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 871f773986c310294528a0d4229d8d64ce3b3f1c
      https://github.com/llvm/llvm-project/commit/871f773986c310294528a0d4229d8d64ce3b3f1c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-10-14 (Thu, 14 Oct 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h

  Log Message:
  -----------
  [TTI][X86] Merge getInterleavedMemoryOpCostAVX2 into getInterleavedMemoryOpCost. NFC

This a NFC refactor patch to merge the AVX2 interleaved cost handling back into the getInterleavedMemoryOpCost base method - while getInterleavedMemoryOpCostAVX512 uses instruction and patterns very specific to AVX512+, much of the costs analysis for AVX2 can be reused for all SSE targets.

This is the first step towards improving SSE and AVX1 costs that will reuse the relevant AVX2 costs by splitting some of the tables - for instance AVX1 has very similar costs for most vXi64/vXf64 interleave patterns and many sub-128bit vector costs are the same all the way down to SSE2 (or at least SSSE3).

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




More information about the All-commits mailing list