[all-commits] [llvm/llvm-project] df48df: [AArch64] Add custom lowering of nxv32i1 get.activ...

Kerry McLaughlin via All-commits all-commits at lists.llvm.org
Fri Jun 6 05:35:56 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: df48dfa0aece477f8f9990e26e91b43969851559
      https://github.com/llvm/llvm-project/commit/df48dfa0aece477f8f9990e26e91b43969851559
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-06-06 (Fri, 06 Jun 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll

  Log Message:
  -----------
  [AArch64] Add custom lowering of nxv32i1 get.active.lane.mask nodes (#141969)

performActiveLaneMaskCombine already tries to combine a single
get.active.lane.mask where the low and high halves of the result are
extracted into a single whilelo which operates on a predicate pair.

If the get.active.lane.mask node requires splitting, multiple nodes are
created with saturating adds to increment the starting index. We cannot
combine these into a single whilelo_x2 at this point unless we know
the add will not overflow.

This patch adds custom lowering for the node if the return type is
nxv32xi1, as this can be replaced with a whilelo_x2 using legal types.
Anything wider than nxv32i1 will still require splitting first.



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