https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111023
Bug ID: 111023
Summary: missing extendv4siv4hi (and friends)
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
We could vectorize gcc.dg/vect/pr65947-7.c if we implement the
extendv4siv4hi pattern (sign-extend V4HI to V4SI). We can already do
vec_unpacks_lo via
pcmpgtw %xmm0, %xmm1
movdqa %xmm0, %xmm2
punpcklwd %xmm1, %xmm2
and that would trivially extend to the required pattern - just the
input is v4hi instead of v8hi.
Other related patterns are probably missing as well, where we can do
vec_unpack[s]_lo we should be able to implement [zero_]extend.