[m68k] asm regression with 3.3/3.4/3.5

Richard Henderson rth@redhat.com
Wed May 12 18:21:00 GMT 2004


On Wed, May 12, 2004 at 12:13:17PM -0400, Ian Lance Taylor wrote:
> In the asm statement, you said that the input _bn could be in any
> register.  You didn't say that it had to be in A6.

Actually, he did -- he passed a hard register varible a6 to the asm.
GCC is supposed to *not* cse hard register variables from asms
specifically for this case -- making syscalls.

No, the likely problem here is that a6 is the frame pointer, and
screwy things happen when you try to use it for other things.

> If you must use A6 for other reasons--if the subroutine expects
> it--then you need to declare _bn to be volatile.

Volatile registers aren't.


r~



More information about the Gcc mailing list