| www.delorie.com/archives/browse.cgi | search |
| Message-ID: | <19990409145846.B28336@cygnus.com> |
| Date: | Fri, 9 Apr 1999 14:58:46 -0700 |
| From: | Richard Henderson <rth AT cygnus DOT com> |
| To: | law AT cygnus DOT com, Joe Buck <jbuck AT Synopsys DOT COM> |
| Cc: | 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 |
| References: | <199904092102 DOT OAA13655 AT atrus DOT synopsys DOT com> <27769 DOT 923693658 AT upchuck> |
| Mime-Version: | 1.0 |
| X-Mailer: | Mutt 0.91.1 |
| In-Reply-To: | <27769.923693658@upchuck>; from Jeffrey A Law on Fri, Apr 09, 1999 at 03:34:18PM -0600 |
| Reply-To: | pgcc AT delorie DOT com |
| X-Mailing-List: | pgcc AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
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 use
> indexed addressing to access the element, then it needs two registers even
> 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 needed
> 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.
r~
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |