This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/19161] No emms or femms emitted between MMX and FP instructions
- From: "uros at kss-loka dot si" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Jun 2005 20:33:10 -0000
- Subject: [Bug target/19161] No emms or femms emitted between MMX and FP instructions
- References: <20041226201629.19161.rth@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From uros at kss-loka dot si 2005-06-24 20:33 -------
(in reply to comment #6)
> ../../gcc/unwind.inc: In function '_Unwind_ForcedUnwind':
> ../../gcc/unwind.inc:215: internal compiler error: in create_pre_exit,
> at mode-switching.c:350
This is a known problem, with a hack to mode-switching.c at
http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01434.html.
As this will fix an ice you got, the real problem is in fact, that this function
is (like __builtin_apply case) trying to handle returned %mm register together
with %st and this will confuse mode switching in the exit block.
Please, could you try to apply the mode-switching.c part of the patch and see if
it fix an ice for you. However, I think that __builtin_apply should process only
an x87 output register, and should be limited only to functions that return in
FPU_X87 mode.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19161