[Bug rtl-optimization/77714] New: Wrong code generation for gcc.c-torture/execute/pr51447.c
thopre01 at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Sep 23 17:52:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77714
Bug ID: 77714
Summary: Wrong code generation for
gcc.c-torture/execute/pr51447.c
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: thopre01 at gcc dot gnu.org
CC: bergner at vnet dot ibm.com
Target Milestone: ---
Host: x86_64-linux-gnu
Target: arm-none-eabi
Hi,
GCC started to generate wrong coed for gcc.c-torture/execute/pr51447.c from
r240065 on arm-none-eabi Cortex-M0 targets (no problem on other Cortex-M
targets). The problem is that the stack is no longer properly adjusted after
jumping from bar to nonlocal_lab.
Dumps are identical until reload. Before this commit, reload will do the
adjustment of the stack in r7 and then pro_and_epilogue will add a mov sp, r7.
After the commit, the stack is adjusted in ip but pro_and_epilogue still
generates a mov sp, r7.
Please find attached the assembly output before and after as well as the dumps
for ira, reload and pro_and_epilogue.
Best regards.
More information about the Gcc-bugs
mailing list