https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89972
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Looking at struct S { long a[0] __attribute__ ((aligned (32))); }; long double u; void baz (struct S *); void bar (long double x, struct S y, long double z) { u = x + z; baz (&y); } this doesn't ICE, but gcc emits loads from rsp+32 and rsp+64, while clang from rbp+16 and rbp+32. So, do we want to ignore the TYPE_EMPTY_P arguments even for argument alignment computations (both at the caller and callee)? Do we want some -Wpsabi warning for this?