[patch] h8300.md: Replace hard coded register numbers with a constant.
Kazu Hirata
kazu@hxi.com
Sat Jan 26 23:15:00 GMT 2002
Hi,
Attached is a patch to replace hard coded register numbers with a
constant.
Tested on h8300 port. Committed.
Kazu Hirata
2002-01-27 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.md (define_constants): New.
(anonymous patterns) Use the defined constant appropriately.
Index: h8300.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/h8300/h8300.md,v
retrieving revision 1.61
diff -u -r1.61 h8300.md
--- h8300.md 2002/01/26 21:31:04 1.61
+++ h8300.md 2002/01/27 06:40:24
@@ -47,6 +47,13 @@
;; ??? Implement remaining bit ops available on the h8300
;; ----------------------------------------------------------------------
+;; CONSTANTS
+;; ----------------------------------------------------------------------
+
+(define_constants
+ [(SP_REG 7)])
+
+;; ----------------------------------------------------------------------
;; ATTRIBUTES
;; ----------------------------------------------------------------------
@@ -101,9 +108,9 @@
;; 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"
@@ -111,9 +118,9 @@
(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"
@@ -195,15 +202,15 @@
;; 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"
More information about the Gcc-patches
mailing list