Re: gcc inline asm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 18, 2002 at 03:18:04PM -0800, Carl Spalletta wrote:

> For example in arch/i386/lib/delay.c:
> 
> 71         __asm__("mull %0"
> 72         :"=d" (xloops), "=&a" (d0)
> 73         :"1" (xloops),"" (current_cpu_data.loops_per_jiffy));
> 74         __delay(xloops * HZ);
> 
>   It's pretty obvious that eax gets clobbered.  Why is it unlisted?

gcc can see it is clobbered via the "=&a". Clobberlists are for things
gcc can't see.

> Does the answer to this question apply in all cases? What about memory 
> clobbers - how do they happen?

when memory gets touched in the asm that isn't specified as an output
in the inline asm afaik

regards
john

-- 
I am a complete moron for forgetting about endianness. May I be
forever marked as such.
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux