Using local register variable

Tal Agmon Tal.Agmon@nsc.com
Wed Dec 31 07:57:00 GMT 2003


I meant that a5 was used when I defined a pointer foo and it wasn't used
when I defined int y.





"Tal Agmon" <Tal.Agmon@nsc.com> writes:

> The manual says:
> You can define a local register variable with a specified register like
> this:
> register int *foo asm ("a5");
>
> My question: is foo must be a pointer or can I define for example:
> register int y asm ("a5");

Both are legal.

> I'm asking this because in gcc-3.3.2 I saw (in a very simple program
> with no reason not the preserve a register) that a5 was not
> preserved for y, and when I defined it as in the first example, a5
> WAS preserved for foo.

I don't understand what you mean by "preserve", so I can't comment on
this...
>

--
             Falk











More information about the Gcc-help mailing list