[Bug target/94452] I386 ABI: How to determine the alignment arguments on the stack of struct or union for argument passing

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 2 09:09:23 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94452

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|I386 ABI: How to determine  |I386 ABI: How to determine
                   |the alignment of struct or  |the alignment arguments on
                   |union determined when       |the stack of struct or
                   |passes them on stack?       |union for argument passing
             Status|WAITING                     |UNCONFIRMED
     Ever confirmed|1                           |0

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to ChenLiu from comment #2)
> (In reply to Richard Biener from comment #1)
> > I see gx aligned to 64 bytes (as I expected).  Can you be more specific as
> > to what target you tested?
> 
> I tested on i386 target. I think you may misunderstand what I mean. The gx
> will align to 4 byte when passing it on stack. I think this should belong to
> calling conventions.

Ah, OK.  IIRC the psABI does not factor in over/under alignment but only
size and kind of (sub-)objects so eventually extra copy-in/out is required
to have the callee see arguments of the desired alignment.

HJ can probably clarify.

Note bugzilla isn't really for this kind of questions, there's a psABI
mailing list somewhere.


More information about the Gcc-bugs mailing list