[all-commits] [llvm/llvm-project] c3a86f: [Hexagon] Fix extractHvxSubvectorPred shuffle mask...

Brian Cain via All-commits all-commits at lists.llvm.org
Mon Feb 23 14:46:37 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c3a86ff2d0b397d757345fad7e29c2a6e7dbc823
      https://github.com/llvm/llvm-project/commit/c3a86ff2d0b397d757345fad7e29c2a6e7dbc823
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-02-23 (Mon, 23 Feb 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    A llvm/test/CodeGen/Hexagon/extract-hvx-subvector-pred-small.ll

  Log Message:
  -----------
  [Hexagon] Fix extractHvxSubvectorPred shuffle mask for small predicates (#181364)

The loop generating the shuffle mask in extractHvxSubvectorPred used
HwLen/ResLen as the iteration count, but each iteration produces 8
elements (ResLen * Rep where Rep = 8/ResLen). This means the total mask
size was (HwLen/ResLen) * 8, which only equals HwLen when ResLen == 8.
For smaller predicate subvectors (e.g., <4 x i1> or <2 x i1>), the mask
was too large, causing an assertion failure in getVectorShuffle.

Fix by using HwLen/8 as the loop bound, which correctly produces HwLen
elements regardless of ResLen.



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