diff options
author | Jeff Law <law@gcc.gnu.org> | 1992-10-16 00:23:57 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1992-10-16 00:23:57 -0600 |
commit | 5cf2759eb4fb4b682a56182ee4a0e1a14e792333 (patch) | |
tree | f93aa94b669a5e8ec47074120422d03bc4adb9c5 | |
parent | ea727bbf208db48adbb0f31bb98394a7815e17e6 (diff) | |
download | gcc-5cf2759eb4fb4b682a56182ee4a0e1a14e792333.zip gcc-5cf2759eb4fb4b682a56182ee4a0e1a14e792333.tar.gz gcc-5cf2759eb4fb4b682a56182ee4a0e1a14e792333.tar.bz2 |
pa.md (call define_expands): If TARGET_LONG_CALLS, then force the address of the function into a register.
* pa.md (call define_expands): If TARGET_LONG_CALLS, then force
the address of the function into a register.
From-SVN: r2486
-rw-r--r-- | gcc/config/pa/pa.md | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 7cdbcf1..c870e50 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -2333,7 +2333,11 @@ "" " { - operands[0] = gen_rtx (MEM, SImode, XEXP (operands[0], 0)); + if (TARGET_LONG_CALLS) + operands[0] = gen_rtx (MEM, SImode, + force_reg (SImode, XEXP (operands[0], 0))); + else + operands[0] = gen_rtx (MEM, SImode, XEXP (operands[0], 0)); }") (define_insn "" @@ -2365,7 +2369,11 @@ "" " { - operands[1] = gen_rtx (MEM, SImode, XEXP (operands[1], 0)); + if (TARGET_LONG_CALLS) + operands[1] = gen_rtx (MEM, SImode, + force_reg (SImode, XEXP (operands[1], 0))); + else + operands[1] = gen_rtx (MEM, SImode, XEXP (operands[1], 0)); }") (define_insn "" |