Skip to content

Commit ddc2e36

Browse files
committed
[X86] getSHUFPDImm - allow general shuffle mask size
#116419 assumed that getSHUFPDImm incorrectly hardcoded the mask size to 4 (cut+pasta typo from getV4X86ShuffleImm). Waiting on reduced test case from @metaflow
1 parent f710e4c commit ddc2e36

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

llvm/lib/Target/X86/X86ISelLowering.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9937,7 +9937,8 @@ static unsigned getSHUFPDImm(ArrayRef<int> Mask) {
99379937
// If the mask only uses one non-undef element, then fully 'splat' it to
99389938
// improve later broadcast matching.
99399939
int FirstIndex = find_if(Mask, [](int M) { return M >= 0; }) - Mask.begin();
9940-
assert(0 <= FirstIndex && FirstIndex < 4 && "All undef shuffle mask");
9940+
assert(0 <= FirstIndex && FirstIndex < Mask.size() &&
9941+
"All undef shuffle mask");
99419942

99429943
int FirstElt = Mask[FirstIndex];
99439944
if (all_of(Mask, [FirstElt](int M) { return M < 0 || M == FirstElt; }) &&

0 commit comments

Comments
 (0)