m68k-openbsd -fpic fix
Jeffrey A Law
Mon Jun 28 03:54:00 GMT 1999
In message < 19990626153434.A28430@cygnus.com >you write:
> On Thu, Jun 24, 1999 at 06:22:47PM -0600, Jeffrey A Law wrote:
> > > See http://egcs.cygnus.com/ml/egcs-bugs/1999-05/msg00764.html
> > > for an example of how critical it is.
> > I've already stated that bug is unlikely to get fixed.
> I had a look at this this morning. Unless I'm dreadfully mistaken,
> this is not a difficult bug, but in fact quite simple.
> m68k can load arbitrary floating point constants directly. There's
> no need to spill them to memory, pic or non-pic.
> It would probably
> make for smaller code if constants that appeared more than once
> were spilled to memory earlier, but no effort has been made to do
> this. In any case, there's no need to do it during reload.
> So a simple tweek to PREFERRED_RELOAD_CLASS seems to be all that's
It the tip of the iceberg, though it probably is worth including to deal with
this instance of one of the more general problems with the m68k PIC code.
The other simple things we can do to greatly improve the m68k PIC support
would be to mark the PIC register as fixed and kill the FINALIZE_PIC
nonsense (those generate wrong code as opposed to compiler aborts).
More information about the Gcc-patches