https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82795
Bug ID: 82795
Summary: [8 Regression] ICE in predicate_mem_writes, at
tree-if-conv.c:2251
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
Target: x86_64-unknown-linux-gnu
gcc-8.0.0-alpha20171029 snapshot (r254205) ICEs when compiling the following
snippet w/ -mavx2 -O3 or -mavx2 -Ofast:
void
sj (int qh, int rn, int *by)
{
for (;;)
if (qh != 0)
{
int dc;
for (dc = 0; dc < 17; ++dc)
{
int nn;
nn = (rn != 0) ? qh : dc;
if (nn != 0)
qh = nn;
else
qh = (qh != 0) ? *by : dc;
}
}
}
% gcc-8.0.0-alpha20171029 -mavx2 -O3 -w -c w6osxlfx.c
during GIMPLE pass: ifcvt
w6osxlfx.c: In function 'sj':
w6osxlfx.c:2:1: internal compiler error: in predicate_mem_writes, at
tree-if-conv.c:2251
sj (int qh, int rn, int *by)
^~
0x5dd228 predicate_mem_writes
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/tree-if-conv.c:2251
0x5dd228 combine_blocks
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/tree-if-conv.c:2377
0xcd7337 tree_if_conversion(loop*)
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/tree-if-conv.c:2885
0xcd810e execute
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171029/work/gcc-8-20171029/gcc/tree-if-conv.c:2963