https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72742
Bug ID: 72742
Summary: [7 Regression] ICE in extract_insn, at recog.c:2309
(error: unrecognizable insn) w/ -Os -mlra
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
Target: powerpc-*-linux-gnu*
gcc-7.0.0-alpha20160724 snapshot ICEs when compiling the following reduced
snippet for 32-bit BE powerpc w/ -Os -mlra:
int xi, m3;
unsigned short int a8;
void
p6 (int ey, unsigned short int *sa)
{
int fx;
reh5ef9u:
{
unsigned short int va;
if (ey != 0)
{
a8 %= xi < 0;
while (a8 < 17)
++a8;
m3 &= fx;
if ((xi & (m3 != 0 ? *sa : 0)) != 0)
{
va /= 3;
xi += (va != 0) ? (va = xi) : 0;
}
xi = va && xi;
goto reh5ef9u;
sa = &va;
}
}
}
% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20160724 -c -Os -mlra uwysfky3.c
uwysfky3.c: In function 'p6':
uwysfky3.c:27:1: error: unrecognizable insn:
}
^
(insn 165 53 166 9 (set (reg:SI 10 10 [211])
(and:SI (reg:SI 9 9 [orig:161 xi_lsm.20 ] [161])
(const_int 0 [0]))) uwysfky3.c:17 -1
(nil))
uwysfky3.c:27:1: internal compiler error: in extract_insn, at recog.c:2309
(unrecognizable insn dump for powerpc-e500v2-linux-gnuspe is very similar).