[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