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: Patch for __float80 varargs passing on ia64-hpux


On Fri, 2005-06-17 at 20:49, Mark Mitchell wrote:
> I was hoping one of the IA64 maintainers would review this patch.

I haven't been able to keep up with gcc-patches since last September. 
I'm making another attempt to jump back in, but meanwhile, I don't mind
getting cc'ed on patches.  I am generally responsive to personal mail. 
In this case though the gcc summit has screwed up my schedule for the
last two weeks.

Anyways, I looked at the bug report and the patch.  I think the patch is
papering over a latent bug in ia64_expand_movxf_movrf.  This is
word-swapping XFmode values when moving them between memory and general
registers.  In hindsight, this doesn't make any sense.  Normally this
works because we don't do anything with XFmode values in general regs,
except for the varargs case, which caused the bug Joseph noticed.  If we
fix the ia64_expand_movxf_movrf problem, then we don't need the
parallels.  Since parallel return values can affect performance, we are
better off without them.

So attached is my suggested, and as yet untested, patch for the
problem.  I will try testing this on ia64-linux.  I don't have a local
copy of ia64-hpux, so I have no easy way to test this on ia64-hpux.

PS: Joseph, please don't put patches inside your signature.  Some MUAs
handle signatures specially.  A patch should either be inserted before
the signature, or else put in an attachment.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com

Attachment: patch.xfmode.wordswap
Description: Text document


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