[all-commits] [llvm/llvm-project] ee3709: [AArch64] Lower SUMLA via two udot products on pla...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu May 28 06:27:11 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ee3709b5db6fa563674c7f7dcaf72a85d19a1656
      https://github.com/llvm/llvm-project/commit/ee3709b5db6fa563674c7f7dcaf72a85d19a1656
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll

  Log Message:
  -----------
  [AArch64] Lower SUMLA via two udot products on plain dotprod targets. (#199761)

Lower PARTIAL_REDUCE_SUMLA on targets without i8mm using udot via

sum(mul (zext %a, sext %b)) =
    sum(mul zext %a, zext (xor %b, 0x80)) -
    sum(mul 128, zext %a)

using  sext(s) = zext(xor(s, 0x80)) - 128
(https://alive2.llvm.org/ce/z/8G8rer)

Alive2 proofs:
* mul (zext, sext) https://alive2.llvm.org/ce/z/8Av7rG
* mul (sext, zext) https://alive2.llvm.org/ce/z/g-gJGq

PR: https://github.com/llvm/llvm-project/pull/199761



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