https://bugs.llvm.org/show_bug.cgi?id=39893
Bug ID: 39893
Summary: Assertion failed: `NumElements > 0 && "#Elements of a
VectorType must be greater than 0"'
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Common Code Generator Code
Assignee: unassignedb...@nondot.org
Reporter: russell_gal...@sn.scee.net
CC: llvm-bugs@lists.llvm.org
$ cat test.cpp
typedef int __attribute__((ext_vector_type(2))) d;
typedef char __attribute__((ext_vector_type(2))) e;
typedef char __attribute__((ext_vector_type(8))) f;
typedef union {
d a;
f b;
} g;
f h;
d j;
void k() {
g l;
l.a = - j;
volatile e m = __builtin_shufflevector(h, l.b, 10, 4);
}
$ clang -c -O1 test.cpp
clang-8: .../llvm/lib/IR/Type.cpp:607: static llvm::VectorType*
llvm::VectorType::get(llvm::Type*, unsigned int): Assertion `NumElements > 0 &&
"#Elements of a VectorType must be greater than 0"' failed.
Introduced at r345602.
Author: Sanjay Patel <spa...@rotateright.com>
Date: Tue Oct 30 14:14:34 2018 +0000
[DAGCombiner] narrow vector binops when extraction is cheap
Narrowing vector binops came up in the demanded bits discussion in D52912.
I don't think we're going to be able to do this transform in IR as a
canonicalization
because of the risk of creating unsupported widths for vector ops, but we
already have
a DAG TLI hook to allow what I was hoping for: isExtractSubvectorCheap().
This is
currently enabled for x86, ARM, and AArch64 (although only x86 has existing
regression
test diffs).
This is artificially limited to not look through bitcasts because there are
so many
test diffs already, but that's marked with a TODO and is a small follow-up.
Differential Revision: https://reviews.llvm.org/D53784
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs