This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: output number %0 not restored to memory - what does it mean?
- To: Dylan_S_Cuthbert at hq dot scei dot sony dot co dot jp
- Subject: Re: output number %0 not restored to memory - what does it mean?
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Mon, 19 Jun 2000 11:57:34 -0600
- cc: gcc-help at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <49256903.0004B410.00@hq.scei.sony.co.jp>you write:
>
> Hi there,
>
> I get the above error message when using the "+" restraint in an asm statem
> ent
> with a TImode type.
>
> How do I get it to work?
>
> The code goes as follows:
>
> void Test( int128& value )
> {
> asm( "bla bla" : "+r" (value) );
> }
>
> It works fine for regular SI (int), or DI (long) mode types.
int128& is going to be passed by reference I believe (ie it lives in
memory).
Your asm specifies that the value should be loaded into a register and
potentially modified.
The warning says that the memory location isn't going to have the new
value after the asm completes..
jeff