This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC PATCH] Implement dummy x87/MMX FPU mode switching
- From: Eric Christopher <echristo at redhat dot com>
- To: Uros Bizjak <uros dot bizjak at kss-loka dot si>
- Cc: gcc-patches at gcc dot gnu dot org, rth at redhat dot com
- Date: Wed, 15 Jun 2005 11:51:10 -0700
- Subject: Re: [RFC PATCH] Implement dummy x87/MMX FPU mode switching
- References: <1118815082.42afc36a80a8a@ssl.kss-loka.si>
> Attached patch survives bootstrap on i686-pc-linux-gnu. Regression tests
> for c and c++ uncover one latent bug in the testsuite:
>
> gcc -O2 -mmmx 20020218-1.c
> 20020218-1.c: In function ÃfooÃ:
> 20020218-1.c:23: internal compiler error: in create_pre_exit, at
> mode-switching.c:350
>
> This testcase triggers an assert in create_pre_exit function, perhaps original
> author of MODE_EXIT code (Eric Christopher's patch, dated 2003-10-10) has some
> ideas, what is going wrong there?
>
Not without debugging it more since that's a fairly large assert. To be
honest I'd be good with splitting it up, but I also don't maintain the
code, I was merely the last person to touch it :)
A quick look makes me think that maybe we're not saving the whole part
of the register that we should be in this case? I see a bit of work in
ix86_function_value_regno_p, but I don't know MMX well enough to know if
there should be changes there for it... do the builtin-apply tests pass
before and after?
> 2005-06-14 Uros Bizjak <uros@kss-loka.si>
>
> * mode-switching.c (optimize_mode_switching): Change MODE_AFTER
> to include entity.
This change is most assuredly not OK unless you change the other users
of MODE_AFTER (the sh port in particular).
-eric