diff options
| author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-11-23 18:17:00 +0000 |
|---|---|---|
| committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-11-23 18:17:00 +0000 |
| commit | 2db59d96e87429b5ba315bb2e906e9ca521255b4 (patch) | |
| tree | 9c65c34e8d4f40748bb7d7f6bc24d9b11d37068e | |
| parent | 5212eb00fc48c6742788d4ef06eb6068fd0a78ef (diff) | |
| download | ppe42-gcc-2db59d96e87429b5ba315bb2e906e9ca521255b4.tar.gz ppe42-gcc-2db59d96e87429b5ba315bb2e906e9ca521255b4.zip | |
* pa.md (call_internal_symref, call_value_internal_symref): No mode
needed on the address operand.
* pa.c (call_operand_address): Check for the correct mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30642 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/pa/pa.c | 3 | ||||
| -rw-r--r-- | gcc/config/pa/pa.md | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 21e8547a104..8b1acbf3a80 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Tue Nov 23 11:15:04 1999 Jeffrey A Law (law@cygnus.com) + + * pa.md (call_internal_symref, call_value_internal_symref): No mode + needed on the address operand. + * pa.c (call_operand_address): Check for the correct mode. + 1999-11-23 Bernd Schmidt <bernds@cygnus.co.uk> * loop.c: Include "basic-block.h". diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 2145ef7961e..529015c1b05 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -205,7 +205,8 @@ call_operand_address (op, mode) rtx op; enum machine_mode mode ATTRIBUTE_UNUSED; { - return (CONSTANT_P (op) && ! TARGET_PORTABLE_RUNTIME); + return (GET_MODE (op) == word_mode + && CONSTANT_P (op) && ! TARGET_PORTABLE_RUNTIME); } /* Return 1 if X contains a symbolic expression. We know these diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index e9e2673a7bc..a837a715948 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -4771,7 +4771,7 @@ }") (define_insn "call_internal_symref" - [(call (mem:SI (match_operand:SI 0 "call_operand_address" "")) + [(call (mem:SI (match_operand 0 "call_operand_address" "")) (match_operand 1 "" "i")) (clobber (reg:SI 2)) (use (const_int 0))] @@ -4920,7 +4920,7 @@ (define_insn "call_value_internal_symref" [(set (match_operand 0 "" "=rf") - (call (mem:SI (match_operand:SI 1 "call_operand_address" "")) + (call (mem:SI (match_operand 1 "call_operand_address" "")) (match_operand 2 "" "i"))) (clobber (reg:SI 2)) (use (const_int 0))] |

