aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-07-29 07:26:58 +0000
committerJeff Law <law@gcc.gnu.org>1999-07-29 01:26:58 -0600
commite58f99c45044aa32ab42a9254810c0a9ce16ea86 (patch)
tree2e8c2eddded74fe6c10b1ee2e98a247c062cf2be
parent1b8ad134da972e9d151a068e4abfdfec883b0e9f (diff)
downloadgcc-e58f99c45044aa32ab42a9254810c0a9ce16ea86.zip
gcc-e58f99c45044aa32ab42a9254810c0a9ce16ea86.tar.gz
gcc-e58f99c45044aa32ab42a9254810c0a9ce16ea86.tar.bz2
pa.md (indirect_jump): Remove mode from match_operand.
* pa.md (indirect_jump): Remove mode from match_operand. Verify proper mode in the condition string. (icacheflush, dcacheflush): Remove modes from match_operands. From-SVN: r28332
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/pa/pa.md18
2 files changed, 13 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6fdd03c..851c94e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -5,6 +5,10 @@ Wed Jul 28 12:50:48 1999 Geoff Keating <geoffk@cygnus.com>
Wed Jul 28 13:18:35 1999 Jeffrey A Law (law@cygnus.com)
+ * pa.md (indirect_jump): Remove mode from match_operand. Verify
+ proper mode in the condition string.
+ (icacheflush, dcacheflush): Remove modes from match_operands.
+
* pa.c (emit_move_sequence): Always convert scratch_reg to the
proper mode before using it.
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 7fdbab03..a1d2939 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -4678,8 +4678,8 @@
;;; Hope this is only within a function...
(define_insn "indirect_jump"
- [(set (pc) (match_operand:SI 0 "register_operand" "r"))]
- ""
+ [(set (pc) (match_operand 0 "register_operand" "r"))]
+ "GET_MODE (operands[0]) == word_mode"
"bv%* %%r0(%0)"
[(set_attr "type" "branch")
(set_attr "length" "4")])
@@ -5168,8 +5168,8 @@
(define_insn "dcacheflush"
[(unspec_volatile [(const_int 1)] 0)
- (use (mem:SI (match_operand:SI 0 "register_operand" "r")))
- (use (mem:SI (match_operand:SI 1 "register_operand" "r")))]
+ (use (mem:SI (match_operand 0 "register_operand" "r")))
+ (use (mem:SI (match_operand 1 "register_operand" "r")))]
""
"fdc 0(%0)\;fdc 0(%1)\;sync"
[(set_attr "type" "multi")
@@ -5177,11 +5177,11 @@
(define_insn "icacheflush"
[(unspec_volatile [(const_int 2)] 0)
- (use (mem:SI (match_operand:SI 0 "register_operand" "r")))
- (use (mem:SI (match_operand:SI 1 "register_operand" "r")))
- (use (match_operand:SI 2 "register_operand" "r"))
- (clobber (match_operand:SI 3 "register_operand" "=&r"))
- (clobber (match_operand:SI 4 "register_operand" "=&r"))]
+ (use (mem:SI (match_operand 0 "register_operand" "r")))
+ (use (mem:SI (match_operand 1 "register_operand" "r")))
+ (use (match_operand 2 "register_operand" "r"))
+ (clobber (match_operand 3 "register_operand" "=&r"))
+ (clobber (match_operand 4 "register_operand" "=&r"))]
""
"mfsp %%sr0,%4\;ldsid (%2),%3\;mtsp %3,%%sr0\;fic 0(%%sr0,%0)\;fic 0(%%sr0,%1)\;sync\;mtsp %4,%%sr0\;nop\;nop\;nop\;nop\;nop\;nop"
[(set_attr "type" "multi")