This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Can shrink-wrapping ever move prologue past an ASM statement?


On Wed, Jul 08, 2015 at 11:22:34AM -0500, Josh Poimboeuf wrote:
> On Wed, Jul 08, 2015 at 05:36:31AM -0500, Segher Boessenkool wrote:
> > On Wed, Jul 08, 2015 at 11:23:09AM +0200, Martin Jambor wrote:
> > > > For other archs, e.g. x86-64, you can do
> > > > 
> > > > 	register void *sp asm("%sp");
> > > > 	asm volatile("call func" : "+r"(sp));

I've found that putting "sp" in the clobber list also seems to work:

  asm volatile("call func" : : : "sp");

This syntax is nicer because it doesn't need a local variable associated
with the register.  Do you see any issues with this approach?

-- 
Josh


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]