-mfpmath=sse -mno-80387 troubles
Uros Bizjak
uros@kss-loka.si
Thu Jan 27 15:41:00 GMT 2005
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.
>
>
>
These are now known problems :)
>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?
>
>
>
In latest CVS, these problems should be fixed. Please try to compile
your code with the latest CVS gcc, and if it still crashes, please file
a bugreport. If you spot an x87 constant, please add a testcase to
PR19653. However ...
>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
>
... this problem should be fixed in CVS a couple of weeks ago by
http://gcc.gnu.org/ml/gcc-cvs/2005-01/msg00466.html and a pack of
follow-up patches.
Uros.
More information about the Gcc
mailing list