GCC ARM assembly questions

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

 



Hi,

I am compiling relatively simple C programs using "gcc -S
-fomit-frame-pointer -mcpu=xscale" on a gumstix (ARM Xscale) processor. I
noticed that the generated assembly code has additional stuff in, beyond
what I would typically see in a standard ARM assembly program (e.g., one
that was generated instead through the ARM Development Suite toolchain). 

For instance, I see the following comments in the GNU-generated assembly
code. What do these signify? 

@ zero_extendqisi2
@ args =0, pretend =0 (what does pretend mean?)
@ frame_needed = 0, uses_anonymous_args = 0 (what does uses_anonymous_args
mean?)

Secondly, I notice that without the "-O" option, saving registers to the
stack happens almost on every alternate line of the generated assembly code.
What is the purpose of doing this? Is there a way of turning this feature
off, without resorting to the "-O" option? 

Finally, is there any documentation on what "-O" actually accomplishes for
an ARM/Xscale processor? For instance, does it use the barrel shifter or
conditional execution wherever possible? Does it optimize for space, for
time, or for both? 

Any answers or pointers would be very much appreciated. 

Best,
Priya
 
Priya Narasimhan, +1-412-268-8801
http://www.cs.cmu.edu/~priya 


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux