This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/79745] vec_init<> expander misses V2TImode with AVX and V2OImode and V2TImode with AVX512
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 28 Feb 2017 11:44:59 +0000
- Subject: [Bug target/79745] vec_init<> expander misses V2TImode with AVX and V2OImode and V2TImode with AVX512
- Auto-submitted: auto-generated
- References: <bug-79745-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79745
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Testcase:
typedef __int128 V __attribute__ ((vector_size (32)));
V foo (__int128 *p)
{
return (V) { p[0], p[2] };
}
produces with -O2 -mavx
vmovdqa (%rsi), %xmm1
vmovdqa 32(%rsi), %xmm2
vmovaps %xmm1, -48(%rbp)
vmovaps %xmm2, -32(%rbp)
vmovdqa -48(%rbp), %ymm3
with fixed expander it ICEs (eh, looks like we do not handle V2TImode...):
t.c: In function ‘foo’:
t.c:5:10: internal compiler error: in ix86_expand_vector_init_general, at
config/i386/i386.c:43390
return (V) { p[0], p[2] };
^
0x136163d ix86_expand_vector_init_general
/space/rguenther/src/svn/gcc-7-branch/gcc/config/i386/i386.c:43390
0x1361bac ix86_expand_vector_init(bool, rtx_def*, rtx_def*)
/space/rguenther/src/svn/gcc-7-branch/gcc/config/i386/i386.c:43504
0x16905e4 gen_vec_initv2ti(rtx_def*, rtx_def*)
/space/rguenther/src/svn/gcc-7-branch/gcc/config/i386/sse.md:18614