I meant that a5 was used when I defined a pointer foo and it wasn't used when I defined int y. "Falk Hueffner" <falk.hueffner@xxxxxxxxxxxxxx To: "Tal Agmon" <Tal.Agmon@xxxxxxx> ebingen.de> cc: gcc-help@xxxxxxxxxxx, "Tomer Levi" <Tomer.Levi@xxxxxxx> Subject: Re: Using local register variable 12/30/03 07:13 PM "Tal Agmon" <Tal.Agmon@xxxxxxx> 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