[all-commits] [llvm/llvm-project] 33b2c2: [X86] Fix assertion in AVX512 setcc combine due to...

Abhishek Kaushik via All-commits all-commits at lists.llvm.org
Thu Aug 28 07:21:08 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 33b2c26560f7083755fd0fabe1f74cddf02eb0a4
      https://github.com/llvm/llvm-project/commit/33b2c26560f7083755fd0fabe1f74cddf02eb0a4
  Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
  Date:   2025-08-28 (Thu, 28 Aug 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/kmov.ll

  Log Message:
  -----------
  [X86] Fix assertion in AVX512 setcc combine due to invalid APInt mask width (#155775)

The AVX512 setcc combine in X86ISelLowering was calling
`APInt::getLowBitsSet` with a mask width (`Len`) that could exceed the
bit width of the broadcasted scalar operand
(`BroadcastOpVT.getSizeInBits()`), leading to assertion failures.

This patch replaces `Len` with the number of defined (non-undef)
elements in the constant pool vector.

This ensures the generated mask is valid and avoids crashes when the
constant pool contains more elements than the scalar bit width can
represent.

Fixes #155762



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