[Bug target/61618] New: [4.10 Regression]: ICE in expand_vec_perm_pblendv, at config/i386/i386.c with -mavx
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jun 26 12:34:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61618
Bug ID: 61618
Summary: [4.10 Regression]: ICE in expand_vec_perm_pblendv, at
config/i386/i386.c with -mavx
Product: gcc
Version: 4.10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ubizjak at gmail dot com
gcc.dg/torture/vshuf-v8sf.c currently fails with -O2 -mavx:
gcc.dg/torture/vshuf-main.inc: In function ‘test_9’:
gcc.dg/torture/vshuf-main.inc:15:5: internal compiler error: in
expand_vec_perm_pblendv, at config/i386/i386.c:43257
d = __builtin_shuffle (a, b, mask); \
^
gcc.dg/torture/vshuf-8.inc:12:1: note: in expansion of macro ‘T’
T (9, 13, 11, 10, 15, 8, 5, 14, 8) \
^
gcc.dg/torture/vshuf-main.inc:28:1: note: in expansion of macro ‘TESTS’
TESTS
^
0xc6bd88 expand_vec_perm_pblendv
/home/uros/gcc-svn/trunk/gcc/config/i386/i386.c:43257
0xc6bd88 ix86_expand_vec_perm_const_1
/home/uros/gcc-svn/trunk/gcc/config/i386/i386.c:44647
0xca4373 ix86_expand_vec_perm_const(rtx_def**)
/home/uros/gcc-svn/trunk/gcc/config/i386/i386.c:44768
0xd67b25 gen_vec_perm_constv8sf(rtx_def*, rtx_def*, rtx_def*, rtx_def*)
/home/uros/gcc-svn/trunk/gcc/config/i386/sse.md:8985
0x9003f8 maybe_expand_insn(insn_code, unsigned int, expand_operand*)
/home/uros/gcc-svn/trunk/gcc/optabs.c:8352
0x907537 expand_vec_perm_1
/home/uros/gcc-svn/trunk/gcc/optabs.c:6626
0x9077da expand_vec_perm(machine_mode, rtx_def*, rtx_def*, rtx_def*, rtx_def*)
/home/uros/gcc-svn/trunk/gcc/optabs.c:6667
(gdb) up
#2 0x0000000000c6bd89 in expand_vec_perm_pblendv (d=0x7fffffffd410) at
/home/uros/gcc-svn/trunk/gcc/config/i386/i386.c:43257
43257 gcc_assert (ok);
(gdb) list
43252
43253 for (i = 0; i < nelt; ++i)
43254 dcopy.perm[i] = d->perm[i] & (nelt - 1);
43255
43256 ok = expand_vec_perm_1 (&dcopy);
43257 gcc_assert (ok);
43258
43259 /* Next we put permuted elements into their positions. */
43260 dcopy1 = *d;
43261 if (which == 2)
(gdb)
More information about the Gcc-bugs
mailing list