[all-commits] [llvm/llvm-project] a84ae9: [AArch64] Use mov imm pseudo instructions in madd ...

David Green via All-commits all-commits at lists.llvm.org
Fri Jul 11 00:01:37 PDT 2025


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/machine-combiner-maddimm.mir
    M llvm/test/CodeGen/AArch64/madd-combiner.ll

  Log Message:
  -----------
  [AArch64] Use mov imm pseudo instructions in madd combine. (#147510)

The usual path for lowering immediates in AArch64 is to generate a
MOVi32imm or MOVi64imm pseudo instruction, that can be moved /
rematerialized around as required, being expanded into one or multiple
instructions after register allocation.

The code for the MachineCombiner was generating MOVN/ORR/MOVZ directly.
This converts them to use the pseudos, allowing the generated immediates
to be materialized if required. The code is hopefully simpler as a
result, and the Sub and Add patterns have been combined to reduce
duplication.



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