This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Forgetting return values
- From: Andrew Haley <aph at redhat dot com>
- To: Jamie Prescott <jpresss at yahoo dot com>
- Cc: Adam Nemet <anemet at caviumnetworks dot com>, "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Thu, 28 May 2009 19:48:30 +0100
- Subject: Re: Forgetting return values
- References: <516867.32690.qm@web111606.mail.gq1.yahoo.com> <o7tz352j4m.fsf@ropi.home> <353851.97620.qm@web111617.mail.gq1.yahoo.com>
Jamie Prescott wrote:
>> From: Adam Nemet <anemet@caviumnetworks.com>
>>> Why is the memory clobber required, and why GCC does not understand to
>>> sync the value to memory when passing the address to a function?
>> Because you never inform GCC that you will use the value at
>> address *NAME. Try to use "m"(*name) rather than "a1"(name) in the asm.
>
> That's 'data', not 'name'. But OK, got it. unfortunately, I cannot use "m" since
> that value need to go into a specific register.
This is not appropriate for gcc@, which is for gcc development.
> Any other solution?
Clobber memory, as you discovered.
Andrew.