Issue |
133751
|
Summary |
SLPVectorizer: "Reshuffling scalars not yet supported for nodes with padding" assert
|
Labels |
new issue
|
Assignees |
|
Reporter |
aeubanks
|
```
$ cat /tmp/a.ll
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-grtev4-linux-gnu"
define void @gsl_matrix_long_double_minmax_index() {
entry:
br i1 false, label %cleanup22, label %for.cond6.preheader.us.preheader
for.cond6.preheader.us.preheader: ; preds = %entry
%cmp14.us = fcmp ogt x86_fp80 0xK00000000000000000000, 0xK00000000000000000000
%imax.2.us = select i1 %cmp14.us, i64 0, i64 0
%jmax.2.us = select i1 %cmp14.us, i64 0, i64 0
%cmp13.us = fcmp olt x86_fp80 0xK00000000000000000000, 0xK00000000000000000000
%imin.2.us = select i1 %cmp13.us, i64 0, i64 0
%jmin.2.us = select i1 %cmp13.us, i64 0, i64 0
br label %cleanup22
cleanup22: ; preds = %for.cond6.preheader.us.preheader, %entry
%storemerge64 = phi i64 [ 0, %entry ], [ %imin.2.us, %for.cond6.preheader.us.preheader ]
%storemerge63 = phi i64 [ 0, %entry ], [ %jmin.2.us, %for.cond6.preheader.us.preheader ]
%storemerge62 = phi i64 [ 0, %entry ], [ %imax.2.us, %for.cond6.preheader.us.preheader ]
%storemerge = phi i64 [ 0, %entry ], [ %jmax.2.us, %for.cond6.preheader.us.preheader ]
ret void
}
$ opt -p slp-vectorizer /tmp/a.ll -disable-output
opt: ../../llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:3714: TreeEntry *llvm::slpvectorizer::BoUpSLP::newTreeEntry(ArrayRef<Value *>, TreeEntry::EntryState, ScheduleBundle &, const InstructionsState &, const EdgeInfo &, ArrayRef<int>, ArrayRef<unsigned int>): Assertion `(hasFullVectorsOrPowerOf2(*TTI,
getValueType(VL.front()), VL.size()) || ReuseShuffleIndices.empty()) && "Reshuffling scalars not yet supported for nodes with padding"' failed.
```
@alexey-bataev
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs