[all-commits] [llvm/llvm-project] 074e4a: [DAG] foldABSToABD - support abs(*ext(x) - *ext(y)...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Tue Nov 14 04:56:56 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 074e4ae0e769e831ca06beb7b37814d67b3d56b6
      https://github.com/llvm/llvm-project/commit/074e4ae0e769e831ca06beb7b37814d67b3d56b6
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2023-11-14 (Tue, 14 Nov 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/sve-abd.ll
    M llvm/test/CodeGen/X86/abds.ll
    M llvm/test/CodeGen/X86/abdu.ll

  Log Message:
  -----------
  [DAG] foldABSToABD - support abs(*ext(x) - *ext(y)) -> zext(abd*(x, y)) from different extension source types (#71670)

We currently limit the fold to cases where we're extending from the same source type, but we can safely perform this using the wider of mismatching source types (we're really just interested in having extension bits on both sources), ensuring we don't create additional extensions/truncations.




More information about the All-commits mailing list