This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Your Jan 15 change broke the x86
- To: law at cygnus dot com
- Subject: Re: Your Jan 15 change broke the x86
- From: Richard Henderson <rth at cygnus dot com>
- Date: Sun, 31 Jan 1999 13:14:38 -0800
- Cc: egcs-bugs at cygnus dot com, egcs-patches at cygnus dot com, drepper at cygnus dot com
- References: <19990130161742.B10496@cygnus.com> <1804.917815615@hurl.cygnus.com>
On Sun, Jan 31, 1999 at 01:46:55PM -0700, Jeffrey A Law wrote:
> I'm a little suprised "bm" was shoved into memory.
This is -O0, remember? Of course it lives in memory.
> Did you get a chance to spin glibc?
No, not yet.
> One comment:
>
> '<' and '>' should allow memory (they're for autoinc memory operands).
Yes, but they allow memory only of a very particular form. And
at rtl generation time that form _only_ exists in push instructions
created by expand_call. So there's no point in matching them.
Or is there? Come to think of it, how can you possibly usefully
use "<" by itself as an input constraint from an asm? There does
not appear to be any code whatsoever to create an address of the
proper form, so the only way it could be used is in conjunction
with another memory specifier. Even then I can't see how specifying
"o<>" wins over "m" -- in an asm you can't select different code
sequences based on alternative or whatnot.
> You probably also need to set allows_reg and allows_mem for 'X' since
> it allows anything.
Good point.
r~