OSDN Git Service

* mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Oct 1998 16:11:24 +0000 (16:11 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Oct 1998 16:11:24 +0000 (16:11 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23055 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/mn10200/mn10200.md

index 3f9ba28..24f62e8 100644 (file)
@@ -130,6 +130,8 @@ Tue Oct 13 11:37:45 1998  Nick Clifton  <nickc@cygnus.com>
 
 Tue Oct 13 11:24:51 1998  Jeffrey A Law  (law@cygnus.com)
 
+       * mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
+
        * collect2.c (main): Pass -EL/-EB through to the compiler.
 
 1998-10-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
index 7659ce7..febaac3 100644 (file)
 ;; So we call out to a library routine to perform 32bit add or
 ;; subtract operations.
 (define_expand "addsi3"
-  [(set (match_operand:SI 0 "general_operand" "")
-       (plus:SI (match_operand:SI 1 "general_operand" "")
-                (match_operand:SI 2 "general_operand" "")))]
+  [(set (match_operand:SI 0 "register_operand" "")
+       (plus:SI (match_operand:SI 1 "register_operand" "")
+                (match_operand:SI 2 "register_operand" "")))]
   ""
   "
 {
 }")
 
 (define_insn "addsi3_const"
-  [(set (match_operand:SI 0 "general_operand" "=d")
-       (plus:SI (match_operand:SI 1 "general_operand" "0")
+  [(set (match_operand:SI 0 "register_operand" "=d")
+       (plus:SI (match_operand:SI 1 "register_operand" "0")
                 (match_operand:SI 2 "const_int_operand" "i")))
    (clobber (match_scratch:SI 3 "=&d"))]
   ""
   [(set_attr "cc" "set_zn")])
 
 (define_expand "subsi3"
-  [(set (match_operand:SI 0 "general_operand" "")
-       (minus:SI (match_operand:SI 1 "general_operand" "")
-                 (match_operand:SI 2 "general_operand" "")))]
+  [(set (match_operand:SI 0 "register_operand" "")
+       (minus:SI (match_operand:SI 1 "register_operand" "")
+                 (match_operand:SI 2 "register_operand" "")))]
   ""
   "
 {
 ;; data register pair has proven to be the most efficient
 ;; and most compact way to represent negsi2.
 (define_insn "negsi2"
-  [(set (match_operand:SI 0 "general_operand" "=d")
-       (neg:SI (match_operand:SI 1 "general_operand" "0")))]
+  [(set (match_operand:SI 0 "register_operand" "=d")
+       (neg:SI (match_operand:SI 1 "register_operand" "0")))]
   ""
   "jsr ___negsi2_%0"
   [(set_attr "cc" "clobber")])