[all-commits] [llvm/llvm-project] 3313cf: [AArch64][GlobalISel] Add push_mul_through_s/zext ...

David Green via All-commits all-commits at lists.llvm.org
Wed Jul 30 23:38:32 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3313cf4a832ca73cb0c10c797ffddf84040fd36d
      https://github.com/llvm/llvm-project/commit/3313cf4a832ca73cb0c10c797ffddf84040fd36d
  Author: David Green <david.green at arm.com>
  Date:   2025-07-31 (Thu, 31 Jul 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/test/CodeGen/AArch64/aarch64-wide-mul.ll
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/AArch64/neon-extmul.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add push_mul_through_s/zext (#141551)

This extends the existing push_add_through_zext to handle mul, similar
to performVectorExtCombine in SDAG. This allows muls to be pushed up the
tree of extends, operating on smaller vector types whilst keeping the
result the same (providing there are > 2x bits in the output).

matchExtAddvToUdotAddv needs to be adjusted to make sure it keeps
generating dot instructions from add(ext(mul(ext, ext))).



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