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

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


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7c66aaddb128dc0f342830c1efaeb7a278bfc48c
      https://github.com/llvm/llvm-project/commit/7c66aaddb128dc0f342830c1efaeb7a278bfc48c
  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