aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-10-13 16:11:24 +0000
committerJeff Law <law@gcc.gnu.org>1998-10-13 10:11:24 -0600
commit160a655e211aac8dcc34c3614b0d6624e0d79cd2 (patch)
treeed9d1991e47d6725c068b875479af6222672b4d6
parentc84e271261e37fe33fe8e8886e65f563211c7d39 (diff)
downloadgcc-160a655e211aac8dcc34c3614b0d6624e0d79cd2.zip
gcc-160a655e211aac8dcc34c3614b0d6624e0d79cd2.tar.gz
gcc-160a655e211aac8dcc34c3614b0d6624e0d79cd2.tar.bz2
* mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
From-SVN: r23055
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/config/mn10200/mn10200.md20
2 files changed, 12 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3f9ba28..24f62e8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/config/mn10200/mn10200.md b/gcc/config/mn10200/mn10200.md
index 7659ce7..febaac3 100644
--- a/gcc/config/mn10200/mn10200.md
+++ b/gcc/config/mn10200/mn10200.md
@@ -372,9 +372,9 @@
;; 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" "")))]
""
"
{
@@ -413,8 +413,8 @@
}")
(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"))]
""
@@ -459,9 +459,9 @@
[(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" "")))]
""
"
{
@@ -523,8 +523,8 @@
;; 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")])