https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77289
Bug ID: 77289
Summary: ICE in extract_constrain_insn, at recog.c:2212 on
powerpc64
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pthaugen at gcc dot gnu.org
CC: bergner at gcc dot gnu.org, dje.gcc at gmail dot com,
seurer at gcc dot gnu.org, wschmidt at gcc dot gnu.org
Target Milestone: ---
Host: powerpc64-unknown-linux-gnu
Target: powerpc64-unknown-linux-gnu
Build: powerpc64-unknown-linux-gnu
Following ICE hit while building 456.hmmer from cpu2006. Bisected to r239105.
[pthaugen@igoo delta]$ cat modelmakers.c
typedef struct msa_struct
{
int alen;
int nseq;
}
MSA;
extern int Alphabet_size;
double log (double);
float FDot (float *, float *, int);
void free (void *);
void
P7Maxmodelmaker (MSA * msa, float *null)
{
int idx;
int i, j;
int x;
float **matc;
float cij[8], tij[8];
float insp[20];
float insc[20];
float *sc;
int first, last;
float new, bestsc;
int code;
for (x = 0; x < Alphabet_size; x++)
insp[x] =
((insp[x] / null[x]) >
0 ? log (insp[x] / null[x]) * 1.44269504 : -9999.);
for (last = msa->alen; i > 0; i--)
{
for (idx = 0; idx < msa->nseq; j++)
{
if (code == 1)
{
new =
sc[j] + FDot (tij, cij, 7) + FDot (insp, insc, Alphabet_size);
}
}
}
for (i = 1; i <= msa->alen; i++)
free (matc[i]);
}
[pthaugen@igoo delta]$ ~/install/gcc/trunk/bin/gcc -c -m32 -O3 -mcpu=power7
-funroll-loops -ffast-math modelmakers.c
modelmakers.c: In function 'P7Maxmodelmaker':
modelmakers.c:42:1: error: insn does not satisfy its constraints:
}
^
(insn 452 451 453 3 (parallel [
(set (reg:SF 61 29 [orig:258 MEM[base: _68, offset: 0B] ] [258])
(mem:SF (plus:SI (reg/f:SI 1 1)
(const_int 88 [0x58])) [1 MEM[base: _68, offset: 0B]+0
S4 A32]))
(set (reg:SI 31 31 [orig:328 ivtmp.25 ] [328])
(plus:SI (reg/f:SI 1 1)
(const_int 88 [0x58])))
]) modelmakers.c:27 617 {*movsf_update1}
(nil))
modelmakers.c:42:1: internal compiler error: in extract_constrain_insn, at
recog.c:2212
0x107ce193 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/pthaugen/src/gcc/trunk/gcc/gcc/rtl-error.c:108
0x107ce1eb _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/home/pthaugen/src/gcc/trunk/gcc/gcc/rtl-error.c:119
0x10792daf extract_constrain_insn(rtx_insn*)
/home/pthaugen/src/gcc/trunk/gcc/gcc/recog.c:2212
0x1066d10b check_rtl
/home/pthaugen/src/gcc/trunk/gcc/gcc/lra.c:2108
0x106710bb lra(_IO_FILE*)
/home/pthaugen/src/gcc/trunk/gcc/gcc/lra.c:2516
0x10615317 do_reload
/home/pthaugen/src/gcc/trunk/gcc/gcc/ira.c:5385
0x10615317 execute
/home/pthaugen/src/gcc/trunk/gcc/gcc/ira.c:5569
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.