[Bug target/41017] regparm=3 passes structures inconsistently

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Aug 10 08:05:00 GMT 2009



------- Comment #5 from ubizjak at gmail dot com  2009-08-10 08:05 -------
(In reply to comment #4)

> If you want to change it to be consistent with the documentation (not with
> existing implementation) and pass structures always on stack, I wouldn't object
> against it. Just don't change it later.
> 

IMO, regparm ABI should be documented in i386 psABI first [1], so we will have
something to implement against. As it stands now, regparm is mainly internal to
gcc, so non-exported functions can be called more efficiently. So, everything
is OK as long as the caller and the callee agree on the location of arguments.

OTOH, if regparm is documented, we can implement alternative function entry
points, so exported functions will also benefit from regparm ABI. See how ICC
handles this.

[1] http://groups-beta.google.com/group/ia32-abi


-- 


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



More information about the Gcc-bugs mailing list