diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2009-01-06 04:00:28 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2009-01-06 04:00:28 +0000 |
commit | 44b864717ee1da2bb98ef4b459da47361d351ebd (patch) | |
tree | 5b3693dcc709d3963f8daa06df5d2b6d334b7c64 /gcc/config/pa | |
parent | 311aab0649dded5e7f9bb84dd78040871d6812d9 (diff) | |
download | gcc-44b864717ee1da2bb98ef4b459da47361d351ebd.zip gcc-44b864717ee1da2bb98ef4b459da47361d351ebd.tar.gz gcc-44b864717ee1da2bb98ef4b459da47361d351ebd.tar.bz2 |
pa.c (output_call): Relocate non-jump insns in the delay slot of long absolute calls when...
* pa.c (output_call): Relocate non-jump insns in the delay slot of long
absolute calls when generating PA 2.0 code.
From-SVN: r143113
Diffstat (limited to 'gcc/config/pa')
-rw-r--r-- | gcc/config/pa/pa.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 2182086..960814f 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -7547,7 +7547,9 @@ output_call (rtx insn, rtx call_dest, int sibcall) if (seq_length != 0 && GET_CODE (NEXT_INSN (insn)) != JUMP_INSN && !sibcall - && (!TARGET_PA_20 || indirect_call)) + && (!TARGET_PA_20 + || indirect_call + || ((TARGET_LONG_ABS_CALL || local_call) && !flag_pic))) { /* A non-jump insn in the delay slot. By definition we can emit this insn before the call (and in fact before argument |