aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-11-23 18:17:00 +0000
committerJeff Law <law@gcc.gnu.org>1999-11-23 11:17:00 -0700
commit1b8079e9d5f922a0c6a076b708b151f8cb5eb7ed (patch)
tree9c65c34e8d4f40748bb7d7f6bc24d9b11d37068e
parentb9d12519542bae956a0b259874e964e52f473ba9 (diff)
downloadgcc-1b8079e9d5f922a0c6a076b708b151f8cb5eb7ed.zip
gcc-1b8079e9d5f922a0c6a076b708b151f8cb5eb7ed.tar.gz
gcc-1b8079e9d5f922a0c6a076b708b151f8cb5eb7ed.tar.bz2
pa.md (call_internal_symref, [...]): No mode needed on the address operand.
* 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. From-SVN: r30642
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/pa/pa.c3
-rw-r--r--gcc/config/pa/pa.md4
3 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 21e8547..8b1acbf 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 2145ef7..529015c 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 e9e2673..a837a71 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))]