www.delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/04/09/18:12:43

To: Richard Henderson <rth AT cygnus DOT com>
cc: Joe Buck <jbuck AT Synopsys DOT COM>, jkinsley AT bticc DOT net, bug-glibc AT gnu DOT org,
pgcc AT delorie DOT com, pcg AT goof DOT com, egcs AT egcs DOT cygnus DOT com,
egcs-bugs AT egcs DOT cygnus DOT com
Subject: Re: pgcc-1.1.1 glibc-2.1.1 strptime.c forbidden register
In-reply-to: Your message of Fri, 09 Apr 1999 14:58:46 PDT.
<19990409145846 DOT B28336 AT cygnus DOT com>
Date: Fri, 09 Apr 1999 16:02:42 -0600
Message-ID: <29685.923695362@upchuck>
From: Jeffrey A Law <law AT upchuck DOT cygnus DOT com>
Reply-To: pgcc AT delorie DOT com

  In message <19990409145846 DOT B28336 AT cygnus DOT com>you write:
  > On Fri, Apr 09, 1999 at 03:34:18PM -0600, Jeffrey A Law wrote:
  > > For example consider an input operand that is an array element.  If we us
  > e
  > > indexed addressing to access the element, then it needs two registers eve
  > n
  > > though (at the source level) is uses only one.  For these cases it would 
  > be
  > > nice if we reloaded the address as a whole so that the asm itself only ne
  > eded
  > > a single register for the asm itself.
  > 
  > This is largely fixed in current cvs.  Previously for something like
  > 
  > 	a = foo[x];
  > 	b = bar[y];
  > 	c = baz[z];
  > 	asm ("" : "=r"(out) : "r"(a), "r"(b), "r"(c))
  > 
  > we could wind up needing 6 registers, since combine would happily
  > merge the array references back in to the asm.  This is now prevented
  > by forcing the asm arguments to more closely match their reload 
  > constraints.
Yup.   The two problems in this area were both against egcs-1.1.x based
compilers.  The current tree does the right thing.

jeff

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019