diff options
author | Philip Blundell <philb@gnu.org> | 2001-05-24 21:09:05 +0000 |
---|---|---|
committer | Phil Blundell <pb@gcc.gnu.org> | 2001-05-24 21:09:05 +0000 |
commit | e46ccf7c814d24040d7ba4bab65629ec73af1c59 (patch) | |
tree | bd779a568af9f649bd5ce368a537665bf8ee1b63 | |
parent | b605cfa89145e8a9b49419f03130a3bfe483d17a (diff) | |
download | gcc-e46ccf7c814d24040d7ba4bab65629ec73af1c59.zip gcc-e46ccf7c814d24040d7ba4bab65629ec73af1c59.tar.gz gcc-e46ccf7c814d24040d7ba4bab65629ec73af1c59.tar.bz2 |
arm.c (output_return_instruction): Correctly handle interworking and interrupt functions.
2001-05-24 Philip Blundell <philb@gnu.org>
* config/arm/arm.c (output_return_instruction): Correctly handle
interworking and interrupt functions.
From-SVN: r42543
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index af1163d..5d436c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2001-05-24 Philip Blundell <philb@gnu.org> + * config/arm/arm.c (output_return_instruction): Correctly handle + interworking and interrupt functions. + +2001-05-24 Philip Blundell <philb@gnu.org> + * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for -m{no-}sched-prolog. Fix typos and improve formatting. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 55e4630..ed4a35b 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -7037,6 +7037,8 @@ output_return_instruction (operand, really_return, reverse) load a single register. On other architectures, the cost is the same. In 26 bit mode we have to use LDM in order to be able to restore the CPSR. */ if ((live_regs_mask == (1 << LR_REGNUM)) + && ! TARGET_INTERWORK + && ! IS_INTERRUPT (func_type) && (! really_return || TARGET_APCS_32)) { if (! really_return) |