[llvm] [DAG] add (~a | x) & (a | y) -> (a & (x ^ y)) ^y for foldMaskedMerge (PR #144342)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 16 05:42:05 PDT 2025


woruyu wrote:

Based on last experience(https://github.com/llvm/llvm-project/pull/143855), I know these test cases are related to (m & x) | (~m & y)
```
  LLVM :: CodeGen/AMDGPU/bfi_int.ll
  LLVM :: CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
  LLVM :: CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
  LLVM :: CodeGen/PowerPC/misched.ll
  LLVM :: CodeGen/RISCV/fold-masked-merge.ll
  LLVM :: CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
  LLVM :: CodeGen/SystemZ/fold-masked-merge.ll
  LLVM :: CodeGen/WebAssembly/simd-arith.ll
  LLVM :: CodeGen/X86/bitselect.ll
  LLVM :: CodeGen/X86/fold-masked-merge.ll
  LLVM :: CodeGen/X86/or-lea.ll
  LLVM :: CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
  LLVM :: CodeGen/X86/unfold-masked-merge-vector-variablemask.ll
```
in order to wirte (~a | x) & (a | y) testcase, i pick up fold-masked-merge.ll  as reference to write fold-masked-merge-demorgan.ll, any suggestions on testcase coverage here?

https://github.com/llvm/llvm-project/pull/144342


More information about the llvm-commits mailing list