This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Inline Assembly Register Allocation Bug? (Was: Possible bugwithgcc 2.95.2 on Hitachi h8)
- To: Ross Crawford <rossc at prologic dot com dot au>
- Subject: Re: Inline Assembly Register Allocation Bug? (Was: Possible bugwithgcc 2.95.2 on Hitachi h8)
- From: Bernd Schmidt <bernds at cygnus dot co dot uk>
- Date: Tue, 18 Jul 2000 10:52:56 +0100 (BST)
- cc: gcc-bugs at gcc dot gnu dot org
On Tue, 18 Jul 2000, Ross Crawford wrote:
> >> asm volatile ("movl\t(%1),%0\n\t"
> >> "movl\t(%1),%0"
> >> : "=r" (temp) : "r" (p));
> >
> >This is not a bug. You need to tell gcc that operand 0 is earlyclobbered:
> >
> > asm volatile ("movl\t(%1),%0\n\t"
> > "movl\t(%1),%0"
> > : "=&r" (temp) : "r" (p));
> >
> >Bernd
>
> Does this imply a bug in egcs 1.1.2 (it should have produced the same
No. It's not guaranteed that it will use the same register if you
omit the earlyclobber.
Bernd