[Bug target/16331] x86-64 inline asm register constraints insufficient WRT ABI

thutt at vmware dot com gcc-bugzilla@gcc.gnu.org
Tue Feb 10 15:35:00 GMT 2009



------- Comment #15 from thutt at vmware dot com  2009-02-10 15:35 -------
(In reply to comment #14)
> > > OTOH, constraints should be used to support correct register
> > > allocation for machine instructions, not to emulate ABI in order to
> > > support calls from inside asm statements.
> >
> > Please indulge me for a moment.
> >
> > What exactly is a call?
> >
> > Are you considering the only method of transferring control to be the
> > standard 'near call' & 'near ret' instructions on the x86?
>
> I was referring at the procedure call, where you need to setup outgoing
> arguments on the calling point and setup incoming arguments on caller point.
> gcc will magically match these two no matter what ABI-changing compile flag
> (i.e. -mregparm) you use. When you call procedure from inside asm, gcc does not
> know about that, and there is no way that gcc will know where arguments are to
> be found.

I understand.

I'm not expecting gcc to handle those aspects of the inline assembly.

My request is just to be able to specify any GP hardware register in a
constraint.  Both input & output.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16331



More information about the Gcc-bugs mailing list