[all-commits] [llvm/llvm-project] 016605: [AArch64][CodeGen] Split wide active lane mask int...

Kerry McLaughlin via All-commits all-commits at lists.llvm.org
Fri Jul 10 06:39:35 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 016605d7eceb269a38a0cd3da8bf9cdd39e04f48
      https://github.com/llvm/llvm-project/commit/016605d7eceb269a38a0cd3da8bf9cdd39e04f48
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    A llvm/test/CodeGen/AArch64/get-active-lane-mask-extract-nosve.ll
    M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
    M llvm/test/CodeGen/AArch64/sve-load-store-legalisation.ll

  Log Message:
  -----------
  [AArch64][CodeGen] Split wide active lane mask into smaller masks if preferred (#202909)

Extends the AArch64 specific DAG combine for get_active_lane_mask to split
up a single wide active lane mask used by a series of subvector extracts
into several smaller get_active_lane_mask nodes if preferred.

This PR is part of a series of changes leading to the use of wide active
lane masks as the canonical form in LoopVectorize when choosing to
interleave and tail-fold loops. #193757 is the original PR where this was
discussed.

The motivation for this PR is to leave the decision on which form of the IR
to use up to the target. This will remove the need for more complex decisions
and transformations during vectorisation to query whether it's best to create
a single mask + extracts or multiple smaller masks.



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