[all-commits] [llvm/llvm-project] e333d6: [AArch64] Replace expensive move from wzr by two m...

Julian Nagele via All-commits all-commits at lists.llvm.org
Wed Jul 16 03:42:21 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e333d6019dafd84f9aef919894d8c82389cde001
      https://github.com/llvm/llvm-project/commit/e333d6019dafd84f9aef919894d8c82389cde001
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2025-07-16 (Wed, 16 Jul 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll

  Log Message:
  -----------
  [AArch64] Replace expensive move from wzr by two moves via floating point immediate (#146538)

We've noticed that inserting 0 into a known vector lane is implemented
via a move from wzr, i.e., moving between register banks. We think it
will be cheaper (and have seen improvements on our benchmarks) to
materialize 0 into a floating point register and insert from there.

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



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