https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- What I don't understand is how the alignment of the function argument 64 bytes aligned being taken into account here ... The alignment of the argument type is still 4 byte aligned even because of the declaration of foo.