https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78516
Bug ID: 78516
Summary: [7 Regression] ICE in lra_assign for e500v2
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: jsm28 at gcc dot gnu.org
Target Milestone: ---
Target: powerpc-linux-gnuspe
Running gcc and g++ tests for powerpc-linux-gnuspe --enable-e500-double shows
the following ICE (177 times in the logs, but the output of each such failing
test appears more than once in the logs; this appears to be the biggest group
of failures in the test results). Compile the following reduced test (which
compiles OK with GCC 6 branch) with -O0 or -O1 to see the ICE.
extern void exit (int);
extern void abort (void);
volatile double inf_cst = __builtin_inf ();
volatile double neg0 = -0.0, one = 1.0;
int
main (void)
{
volatile double r;
if (!__builtin_isinf (inf_cst))
abort ();
r = __builtin_copysign (one, neg0);
exit (0);
}
ice.i: In function 'main':
ice.i:15:1: internal compiler error: in lra_assign, at lra-assigns.c:1612
}
^
0x9bdfb8 lra_assign()
/scratch/jmyers/glibc/many7/src/gcc/gcc/lra-assigns.c:1612
0x9b8b9d lra(_IO_FILE*)
/scratch/jmyers/glibc/many7/src/gcc/gcc/lra.c:2422
0x96deb1 do_reload
/scratch/jmyers/glibc/many7/src/gcc/gcc/ira.c:5381
0x96deb1 execute
/scratch/jmyers/glibc/many7/src/gcc/gcc/ira.c:5565
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.