https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95523
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>: https://gcc.gnu.org/g:b5cebc9ab7f6ab47067dc04cae17bf9921a62a18 commit r11-1179-gb5cebc9ab7f6ab47067dc04cae17bf9921a62a18 Author: z00219097 <z.zhanghaij...@huawei.com> Date: Wed Jun 10 16:58:51 2020 +0100 aarch64: Fix an ICE in register_tuple_type [PR95523] When registering the tuple type in register_tuple_type, the TYPE_ALIGN (tuple_type) will be changed by -fpack-struct=n. We need to maintain natural alignment in handle_arm_sve_h. 2020-06-10 Haijian Zhang <z.zhanghaij...@huawei.com> gcc/ PR target/95523 * config/aarch64/aarch64-sve-builtins.h (sve_switcher::m_old_maximum_field_alignment): New member. * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher): Save maximum_field_alignment in m_old_maximum_field_alignment and clear maximum_field_alignment. (sve_switcher::~sve_switcher): Restore maximum_field_alignment. gcc/testsuite/ PR target/95523 * gcc.target/aarch64/sve/pr95523.c: New test.