[Bug target/70830] [6/7 Regression] ARM interrupt attribute: push/pop do not support {reglist}^
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu May 12 09:57:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70830
--- Comment #5 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Thu May 12 09:56:46 2016
New Revision: 236169
URL: https://gcc.gnu.org/viewcvs?rev=236169&root=gcc&view=rev
Log:
[ARM] PR target/70830: Avoid POP-{reglist}^ when returning from interrupt
handlers
PR target/70830
* config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction
when popping the PC and within an interrupt handler routine.
Add missing tab to output of "ldmfd".
(output_return_instruction): Output LDMFD with SP update rather
than POP when returning from interrupt handler.
* gcc.target/arm/interrupt-1.c: Change dg-compile to dg-assemble.
Add -save-temps to dg-options.
Scan for ldmfd rather than pop instruction.
* gcc.target/arm/interrupt-2.c: Likewise.
* gcc.target/arm/pr70830.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/arm/pr70830.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/arm/interrupt-1.c
trunk/gcc/testsuite/gcc.target/arm/interrupt-2.c
More information about the Gcc-bugs
mailing list