This is my first ever bug report; if I get something wrong, please tell me so I don't do it again!
When the following is compiled using mainline (as of 28th April 2008) with "-O -march=nocona -mfpmath=sse,387 -ffast-math" I get an ICE. It's a different ICE with omitting the "-O2". ----- Code: ----- extern double log(double x); extern int f(void); void g(void) { static double cached_value = 0.0; cached_value = log(f()); } int main(void) { g(); return 0; } ------- Result: ------- $ gcc-4.4 -O -ffast-math -march=nocona -mfpmath=sse,387 bug.c bug.c: In function g: bug.c:9: error: insn does not satisfy its constraints: (insn 24 23 25 2 bug.c:8 (set (reg:DF 8 st [61]) (float:DF (mem/c:SI (plus:DI (reg/f:DI 7 sp) (const_int 4 [0x4])) [0 S4 A8]))) 215 {*floatsidf2_sse_interunit} (nil)) bug.c:9: internal compiler error: in copyprop_hardreg_forward_1, at regrename.c:1590 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- Summary: ICE with -ffast-math and -mfpmath=sse,387 Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ejb48 at cam dot ac dot uk GCC build triplet: x86_64-linux-gnu GCC host triplet: x86_64-linux-gnu GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36073