https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114166
Bug ID: 114166
Summary: word_mode vectorization still relies on vector
lowering
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
When the vectorizer decides to use emulated vectors for operations the target
doesn't support and the vector types do not have integer mode but the
vectorizer simply emits vector code nevertheless which it does for
bitwise operations, we fail RTL expansion.
This can be seen with g++.dg/opt/pr82929.C when moving vector lowering
before vectorization. We then vectorize V1SImode bitwise and even
though the optab check discovered that's not supported.
Vectorizer code generation should, like it now does for PLUS/MINUS and NEGATE,
use integer types when code generating emulated vectors.