OSDN Git Service

* pa.md (indirect_jump): Remove mode from match_operand. Verify
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Jul 1999 07:26:58 +0000 (07:26 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Jul 1999 07:26:58 +0000 (07:26 +0000)
        proper mode in the condition string.
        (icacheflush, dcacheflush): Remove modes from match_operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28332 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/pa/pa.md

index 6fdd03c..851c94e 100644 (file)
@@ -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.
 
index 7fdbab0..a1d2939 100644 (file)
 
 ;;; 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")])
 
 (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")
 
 (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")