Better fix for fix_truncsfdi2 i386 bug in egcs 1.1.2

Jeffrey A Law law@cygnus.com
Fri Aug 27 00:12:00 GMT 1999


  In message < 199908242112.RAA05763@devserv.devel.redhat.com >you write:
  > > It would have helped if you indicated what path through
  > > output_fix_trunc and output_to_reg was used -- I had to spend a lot
  > > of time reading that code to see how we might be losing.
  > 
  > Thanks for suggesting this - it isn't that I forgot to mention this,
  > it is that I didn't know the compiler well enough to easily understand
  > how output_fix_trunc related to the other pieces and so on.  I think
  > I'm slowly gaining enlightenment.
It takes time.

  > Yes, I concur (after stepping through the code on my test case and
  > thinking about it and so on).  Once I look at it right, it looks like
  > a straightforward application of the rule "Therefore, this
  > [earlyclobber] operand may not lie in a register that is used as
  > . . . part of any memory address" from md.texi.
Yup.

  > > Can you please fix all the patterns which call output_fix_trunc such
  > > that they have an earlyclobber on the "!r" output alternative if you
  > > agree with my comments?
  > 
  > Patch enclosed.  Thanks for your patience/help - and I'm glad you took
  > the time because I wouldn't have noticed the SImode case without your
  > suggestions.
Thanks.  Installed.  I'm also filing it in the potential patches for 
gcc-2.95.2.

No problem at all helping out now that I can at least see the top of the hole
I'm trying to dig out of from the gcc-2.95 release cycle :-)

On a slightly related note, this patch is small enough not to need a copyright
assignment, but if it looks like you'll be doing a fair amount of gcc work
you'll probably want to get the paperwork started.

jeff




More information about the Gcc-patches mailing list