https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140
Bug ID: 69140 Summary: [5.3 regression] Stack alignment + O1 breaks on x86_64 [introduced by r230176 ] Product: gcc Version: 5.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: bucaneer at gmail dot com Target Milestone: --- Compilation of 64bit Wine with GCC 5.3 fails when using both stack realignment (-mincoming-stack-boundary=3) and optimization (-O1 or higher): --- ../../../wine/dlls/advapi32/crypt_md4.c:134:1: internal compiler error: in choose_baseaddr, at config/i386/i386.c:10412 --- which refers to this assert in choose_baseaddr: --- gcc_assert (base_reg != NULL); --- This worked fine in some pre-5.3 dev builds (as confirmed when testing bug 66697 fix). git bisect identifies r230176 as the cause of the regression: --- commit 6ca53fc513f4efdca56af52439ffc5a49b9e6e21 Author: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Nov 11 14:56:17 2015 +0000 PR target/67265 * ira.c (ira_setup_eliminable_regset): Do not necessarily create the frame pointer for stack checking if non-call exceptions aren't used. * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@230176 138bc75d-0d04-0410-961f-82ee72b054a4 ---