http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56348
Bug #: 56348 Summary: internal compiler error in assign_by_spills with -m32 -fPIC -msse2 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: dnovi...@gcc.gnu.org CC: vmaka...@redhat.com Host: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu Build: x86_64-unknown-linux-gnu With trunk at rev 195930 I am running into the following ICE while building SuiteSparse v3.4.0 (http://www.cise.ufl.edu/research/sparse/SuiteSparse/) with -m32 and -fPIC. Reduced test case: + ./cc1 min.c -quiet -m32 -O2 -fPIC -mfpmath=sse -msse2 min.c: In function 'cholmod_l_drop': min.c:34:1: internal compiler error: in assign_by_spills, at lra-assigns.c:1262 } ^ 0x7f0c54 assign_by_spills gcc/lra-assigns.c:1262 0x7f1c53 lra_assign() gcc/lra-assigns.c:1419 0x7ed914 lra(_IO_FILE*) gcc/lra.c:2307 0x7b41e0 do_reload gcc/ira.c:4614 0x7b41e0 rest_of_handle_reload gcc/ira.c:4726 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. $ cat min.c typedef unsigned int size_t; extern double fabs (double __x) __attribute__ ((__nothrow__, __leaf__)) __attribute__ ((__const__)); typedef struct cholmod_sparse_struct { size_t ncol; void *p; } cholmod_sparse; int cholmod_l_reallocate_sparse (size_t, cholmod_sparse *, void *); int cholmod_l_drop (double tol, cholmod_sparse * A) { double aij; double *Ax; long long *Ap, *Ai, *Anz; long long packed, i, j, nrow, ncol, p, pend, nz, values; Ap = A->p; ncol = A->ncol; nz = 0; for (j = 0; j < ncol; j++) for (; p < pend; p++) { i = Ai[p]; aij = Ax[p]; if (i <= j && (fabs (aij) > tol || ((aij) != (aij)))) nz++; } Ap[ncol] = nz; cholmod_l_reallocate_sparse (nz, A, 0); }