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>
;; 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")])