2002-01-27 Kazu Hirata <kazu@hxi.com>
+ * config/h8300/h8300.md (define_constants): New.
+ (anonymous patterns) Use defined constants appropriately.
+
+2002-01-27 Kazu Hirata <kazu@hxi.com>
+
* config/h8300/h8300.c (function_arg): Remove redundant code.
2002-01-26 Richard Henderson <rth@redhat.com>
;; ??? Implement remaining bit ops available on the h8300
;; ----------------------------------------------------------------------
+;; CONSTANTS
+;; ----------------------------------------------------------------------
+
+(define_constants
+ [(SP_REG 7)])
+
+;; ----------------------------------------------------------------------
;; ATTRIBUTES
;; ----------------------------------------------------------------------
;; movqi
(define_insn "pushqi1_h8300"
- [(parallel [(set (reg:HI 7)
- (plus:HI (reg:HI 7) (const_int -2)))
- (set (mem:QI (plus:HI (reg:HI 7) (const_int -1)))
+ [(parallel [(set (reg:HI SP_REG)
+ (plus:HI (reg:HI SP_REG) (const_int -2)))
+ (set (mem:QI (plus:HI (reg:HI SP_REG) (const_int -1)))
(match_operand:QI 0 "register_operand" "r"))])]
"TARGET_H8300"
"mov.w\\t%T0,@-r7"
(set_attr "cc" "clobber")])
(define_insn "pushqi1_h8300hs"
- [(parallel [(set (reg:SI 7)
- (plus:SI (reg:SI 7) (const_int -4)))
- (set (mem:QI (plus:SI (reg:SI 7) (const_int -3)))
+ [(parallel [(set (reg:SI SP_REG)
+ (plus:SI (reg:SI SP_REG) (const_int -4)))
+ (set (mem:QI (plus:SI (reg:SI SP_REG) (const_int -3)))
(match_operand:QI 0 "register_operand" "r"))])]
"TARGET_H8300H || TARGET_H8300S"
"mov.l\\t%S0,@-er7"
;; movhi
(define_expand "pushhi1_h8300"
- [(set (mem:QI (pre_dec:HI (reg:HI 7)))
+ [(set (mem:QI (pre_dec:HI (reg:HI SP_REG)))
(match_operand:QI 0 "register_operand" ""))]
"TARGET_H8300"
"")
(define_insn "pushhi1_h8300hs"
- [(parallel [(set (reg:SI 7)
- (plus:SI (reg:SI 7) (const_int -4)))
- (set (mem:HI (plus:SI (reg:SI 7) (const_int -2)))
+ [(parallel [(set (reg:SI SP_REG)
+ (plus:SI (reg:SI SP_REG) (const_int -4)))
+ (set (mem:HI (plus:SI (reg:SI SP_REG) (const_int -2)))
(match_operand:HI 0 "register_operand" "r"))])]
"TARGET_H8300H || TARGET_H8300S"
"mov.l\\t%S0,@-er7"