[all-commits] [llvm/llvm-project] e4e2a9: [AArch64][LV] Cost low-VF interleaved access (#205...

Jacob Crawley via All-commits all-commits at lists.llvm.org
Tue Jul 7 08:57:43 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e4e2a9346b60e3805b63cec888f6de022db5b271
      https://github.com/llvm/llvm-project/commit/e4e2a9346b60e3805b63cec888f6de022db5b271
  Author: Jacob Crawley <jacob.crawley at arm.com>
  Date:   2026-07-07 (Tue, 07 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/CodeGen/AArch64/sve-interleave-low-vf.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-interleave-low-vf-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-access-low-vf.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll

  Log Message:
  -----------
  [AArch64][LV] Cost low-VF interleaved access (#205844)

Adds a case to getInterleavedMemoryOpCost to cost scalable interleaved
memory accesses where the interleave factor is larger than the VF.

Previously for these cases, memory operations would be costed as
individual gathers and scatters, which may result in the LoopVectorizer
choosing a wider VF than necessary.

This changes proposes an alternative approach of using a contiguous
load/store of the interleaved vector followed by shuffles to get
the elements into place.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list