This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC PATCH] Implement dummy x87/MMX FPU mode switching


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]