[all-commits] [llvm/llvm-project] accc07: [DAG] Fold (X & Y) != 0 --> zextOrTrunc(X & Y) iff...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sun Jan 23 08:36:44 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: accc07e65465094dc5e12e78bee45b4d459c4ccd
      https://github.com/llvm/llvm-project/commit/accc07e65465094dc5e12e78bee45b4d459c4ccd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-01-23 (Sun, 23 Jan 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/parity-vec.ll

  Log Message:
  -----------
  [DAG] Fold (X & Y) != 0 --> zextOrTrunc(X & Y) iff everything but LSB is known zero (PR51312)

Fixes parity codegen issue where we know all but the lowest bit is zero, we can replace the ICMPNE with 0 comparison with a ext/trunc

Differential Revision: https://reviews.llvm.org/D117983




More information about the All-commits mailing list