[all-commits] [llvm/llvm-project] 86c4ef: [AArch64] Add patterns for sub from add negative i...

David Green via All-commits all-commits at lists.llvm.org
Sun Aug 31 07:12:54 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 86c4ef506d96468d3f4c196a61767c40ce180d2e
      https://github.com/llvm/llvm-project/commit/86c4ef506d96468d3f4c196a61767c40ce180d2e
  Author: David Green <david.green at arm.com>
  Date:   2025-08-31 (Sun, 31 Aug 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-index-const-step-vector.ll
    M llvm/test/CodeGen/AArch64/sve-int-imm.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll

  Log Message:
  -----------
  [AArch64] Add patterns for sub from add negative immediates (#156024)

`sub 3` will be canonicalized in llvm to `add -3`. This adds some
tablegen patterns for add from a negative immediate so that we can still
generate sub imm SVE instructions.

The alternative is to add a isel combine, which seemed to work but
created problems for mad and index patterns. This version does still
need to add a lower-than-default Complexity to the ComplexPatterns to
ensure that index was selected over sub-imm + index, as the default
Complexity on ComplexPatterns is quite high.

Fixes #155928



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