This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
-mfpmath=sse -mno-80387 troubles
- From: tbp <tbptbp at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 27 Jan 2005 12:35:43 +0100
- Subject: -mfpmath=sse -mno-80387 troubles
- Reply-to: tbp <tbptbp at gmail dot com>
Hello,
I'm yet again into troubles with -mfpmath=sse and with various gcc4
versions, a 15 days old cvs checkout included.
I have a function that when forced to be inlined in conjunction with
-mno-80387 causes an ICE. If i remove the -mno-80387 switch, no more
ICE, but i'm seeing a whole bunch of fpu comparisons and load/store
(not in that function by nearby) the net result being a ~10%
performance drop.
So:
a) should i fill a bug report for those ICEs (given that they happen
in unusual condtions)
b) i've already reported about the SSE/387 mixing, and it's been
closed, and i've seen new PR about that (ie
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19653) and some patches
flying around... so the question is should i report again, try an even
more recent gcc or wait a bit?
Here's the kind of ICE i'm running into.
src\raytrace_mono.cpp(365): error: insn does not satisfy its constraints:
(insn 965 933 966 12 src\raytrace_mono.cpp:358 (set (reg:CCFPU 17 flags)
(compare:CCFPU (reg:SF 9 st(1))
(reg:SF 8 st))) 28 {*cmpfp_iu_sse_only} (nil)
(expr_list:REG_DEAD (reg:SF 9 st(1))
(expr_list:REG_DEAD (reg:SF 8 st)
(nil))))
src\raytrace_mono.cpp(365): internal compiler error: in
build_def_use, at regrename.c:761