https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80700
Bug ID: 80700
Summary: [8 Regression] ICE: Bus error (on SPE target)
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
Target: powerpc-e500v2-linux-gnuspe
gcc-8.0.0-alpha20170507 snapshot ICEs when compiling the following snippet,
reduced from the original testcase in PR71012, w/ -O2, -O3, or -Ofast:
typedef char k6 __attribute__ ((vector_size(16)));
typedef int tp __attribute__ ((vector_size(16)));
k6 ap;
tp r3;
void
i5 (k6 x5, k6 nr, int gx)
{
tp cl = { 1, 1 };
while (gx < 1)
{
ap = x5;
r3 += gx;
r3 *= cl;
ap <<= 1;
x5 <<= nr;
++gx;
}
}
% powerpc-e500v2-linux-gnuspe-gcc-8.0.0-alpha20170507 -w -O2 -c fiwreogz.c
fiwreogz.c: In function 'i5':
fiwreogz.c:21:1: internal compiler error: Bus error
}
^
0xc49b79 crash_signal
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/toplev.c:337
0xb9161c constrain_operands(int, unsigned long)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/recog.c:2583
0xb92204 extract_constrain_insn(rtx_insn*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/recog.c:2212
0xa840df check_rtl
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/lra.c:2128
0xa88d07 lra(_IO_FILE*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/lra.c:2546
0xa34e30 do_reload
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/ira.c:5472
0xa34e30 execute
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-8.0.0_alpha20170507/work/gcc-8-20170507/gcc/ira.c:5656
The snippet builds fine w/ -mno-spe.