https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109276
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Neither the new ix86_lower_local_decl_alignment function is called, nor SET_DECL_ALIGN in pass_adjust_alignment::execute. What happens is that #0 ix86_local_alignment (exp=<integer_type 0x7fffea14b888 long long int>, mode=E_DImode, align=64, may_lower=false) at ../../gcc/config/i386/i386.cc:17499 #1 0x0000000000883aab in get_stack_local_alignment (type=<integer_type 0x7fffea14b888 long long int>, mode=E_DImode) at ../../gcc/function.cc:290 #2 0x0000000000883d8c in assign_stack_local_1 (mode=E_DImode, size=..., align=0, kind=2) at ../../gcc/function.cc:388 #3 0x000000000088457b in assign_stack_local (mode=E_DImode, size=..., align=0) at ../../gcc/function.cc:547 #4 0x000000000120a3e7 in assign_386_stack_local (mode=E_DImode, n=SLOT_FLOATxFDI_387) at ../../gcc/config/i386/i386.cc:16688 #5 0x0000000001b3c96f in gen_split_72 (curr_insn=0x7fffea1452c0, operands=0x35183e0 <recog_data>) at ../../gcc/config/i386/i386.md:5723 #6 0x00000000021b7b7c in split_9 (x1=0x7fffea2fb6d8, insn=0x7fffea1452c0) at ../../gcc/config/i386/i386.md:5722 #7 0x000000000229f190 in split_insns (x1=0x7fffea2fb6d8, insn=0x7fffea1452c0) at ../../gcc/config/i386/i386.md:16795 #8 0x000000000079c159 in try_split (pat=0x7fffea2fb6d8, trial=0x7fffea1452c0, last=1) at ../../gcc/emit-rtl.cc:3799 asks for a DImode stack slot, ix86_local_alignment newly doesn't lower the alignment which isn't good for -mpreferred-stack-boundary=2.