[all-commits] [llvm/llvm-project] eb011a: [X86] Fold BLENDI(X, Y) -> VZEXT_MOVL if the upper ...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Thu Mar 12 16:10:13 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: eb011a7d3adcab15c11901953a7b481303c773d1
      https://github.com/llvm/llvm-project/commit/eb011a7d3adcab15c11901953a7b481303c773d1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-03-12 (Thu, 12 Mar 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] Fold BLENDI(X,Y) -> VZEXT_MOVL if the upper elements are known to be zero (#186267)

The zext_inreg test changes are interesting - we mostly get closer to
the VPBLENDW(XMM,0) pattern, but the fast-shuffle targets still fail to
recognize the upper half of the YMM is zero and don't simplify the
AND(YMM,C) as much as they could.

Helps with regression identified on #182200



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