[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