This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/79745] vec_init<> expander misses V2TImode with AVX and V2OImode and V2TImode with AVX512


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]