[all-commits] [llvm/llvm-project] c6c2ad: [DAG] Fold any-extend(and(trunc(x), C)) -> and(x, ...

Aayush Shrivastava via All-commits all-commits at lists.llvm.org
Wed Jun 3 08:49:02 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c6c2ad52586c28e74a724570985a48dc0022d250
      https://github.com/llvm/llvm-project/commit/c6c2ad52586c28e74a724570985a48dc0022d250
  Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
  Date:   2026-06-03 (Wed, 03 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/bitfield-insert.ll
    M llvm/test/CodeGen/AArch64/bswap-known-bits.ll
    M llvm/test/CodeGen/AArch64/sshl_sat.ll
    M llvm/test/CodeGen/AArch64/ushl_sat.ll
    A llvm/test/CodeGen/X86/aext-and-trunc-avx512.ll
    A llvm/test/CodeGen/X86/aext-and-trunc.ll
    M llvm/test/CodeGen/X86/and-with-overflow.ll
    M llvm/test/CodeGen/X86/combine-srem.ll
    M llvm/test/CodeGen/X86/llvm.frexp.ll
    M llvm/test/CodeGen/X86/masked_load.ll
    M llvm/test/CodeGen/X86/masked_store.ll
    M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-innerouter.ll
    M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbits.ll
    M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-interleavedbytehalves.ll
    M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-constmask-lowhigh.ll

  Log Message:
  -----------
  [DAG] Fold any-extend(and(trunc(x), C)) -> and(x, C) (#200052)

Fixes #195575

Fix a missed optimization in `DAGCombiner::visitANY_EXTEND` where the
pattern `any-extend(and(trunc(x), C))` was not being folded into `and(x,
C)` on X86, causing a redundant `movzbl` instruction to be emitted after
a small-mask AND.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list