https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120900
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ubizjak at gmail dot com Blocks| |35771 --- Comment #7 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Andrew Pinski from comment #5) > The bug is in the C front-end then for using the canonical type then for the > argument. ix86_function_arg_boundary has tatic unsigned int ix86_function_arg_boundary (machine_mode mode, const_tree type) { unsigned int align; if (type) { /* Since the main variant type is used for call, we convert it to the main variant type. */ type = TYPE_MAIN_VARIANT (type); align = TYPE_ALIGN (type); if (TYPE_EMPTY_P (type)) return PARM_BOUNDARY; } which was added for PR 35771. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35771 [Bug 35771] Call expander ignores type alignment