[all-commits] [llvm/llvm-project] 6ec889: [DAG] Add support for neg(abd(x, y)) patterns.

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Fri Sep 6 05:16:43 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6ec889e53f1ae048cc9aee79c91118fc8bbc6974
      https://github.com/llvm/llvm-project/commit/6ec889e53f1ae048cc9aee79c91118fc8bbc6974
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
    M llvm/test/CodeGen/X86/abds-neg.ll
    M llvm/test/CodeGen/X86/abdu-neg.ll

  Log Message:
  -----------
  [DAG] Add support for neg(abd(x,y)) patterns.

Currently limited to cases which have legal/custom ABDS/ABDU handling - I'll extend this for all targets in future (similar to how we support neg(abs(x))) once I've addressed some outstanding regressions on aarch64/riscv.

Helps avoid a lot of extra cmov instructions on x86 in particular, and allows us to more easily improve the codegen in future commits.



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