This is the mail archive of the
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: <firstname.lastname@example.org>
> 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
> 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 <email@example.com>
> * 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).