https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910
--- Comment #14 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>: https://gcc.gnu.org/g:66946624b96b762985de56444d726a0ebd4e0df5 commit r13-7167-g66946624b96b762985de56444d726a0ebd4e0df5 Author: Richard Sandiford <richard.sandif...@arm.com> Date: Thu Apr 13 16:57:57 2023 +0100 aarch64: Don't trust TYPE_ALIGN for pointers [PR108910] The aarch64 PCS rules ignore user alignment for scalars and vectors and use the "natural" alignment of the type. GCC tried to calculate that natural alignment using: TYPE_ALIGN (TYPE_MAIN_VARIANT (type)) But as discussed in the PR, it's possible that the main variant of a pointer type is an overaligned type (although that's usually accidental). This isn't known to be a problem for other types, so this patch changes the bare minimum. It might be that we need to ignore TYPE_ALIGN in other cases too. gcc/ PR target/108910 * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead. gcc/testsuite/ PR target/108910 * gcc.dg/torture/pr108910.c: New test.