[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