[all-commits] [llvm/llvm-project] caaf61: [SDag] Fold saddo[_carry] with bitwise-not argumen...

Sergei Barannikov via All-commits all-commits at lists.llvm.org
Mon Sep 18 04:45:54 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: caaf61eb6e17f7c82b72e239f98096b3c2cb6a9a
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2023-09-18 (Mon, 18 Sep 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/i128-math.ll
    M llvm/test/CodeGen/X86/addcarry.ll

  Log Message:
  [SDag] Fold saddo[_carry] with bitwise-not argument to ssubo[_carry] (#66571)

Fold `(saddo (not a), 1)` to `(ssubo 0, a)` and
`(saddo_carry (not a), b, c)` to `(ssubo_carry b, a, !c)`.

Proof: https://alive2.llvm.org/ce/z/Lj49YM

This is the same as https://reviews.llvm.org/D46505 and
https://reviews.llvm.org/D59208, but for signed opcodes.

More information about the All-commits mailing list