2002-02-19 Philip Blundell <philb@gnu.org>
commit4a5f62e2355e563d2f725dcda6dae933b5edce01
authorpb <pb@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Feb 2002 18:08:10 +0000 (19 18:08 +0000)
committerpb <pb@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Feb 2002 18:08:10 +0000 (19 18:08 +0000)
tree34542f3e288b24b6a0ddc08064ddb3c4f319174d
parent77744024b71f278b855284d7383a505c3c1945d9
2002-02-19  Philip Blundell  <philb@gnu.org>

* config/arm/arm.c (use_return_insn): Don't reject interrupt
functions.
(arm_compute_save_reg_mask): Save LR for interrupt functions too.
(output_return_instruction): Allow interrupt functions to return with
ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
(arm_expand_prologue): Subtract 4 before stacking LR in an
interrupt function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49872 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.c