OSDN Git Service

* config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
authorciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 12 Apr 2003 20:05:55 +0000 (20:05 +0000)
committerciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 12 Apr 2003 20:05:55 +0000 (20:05 +0000)
("tstqi_z_used" split): Use it.
("cmphi_z_used"): Likewise.
("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
("cmpqi_z_used"): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65522 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/m68hc11/m68hc11.md

index 0e9f49d..5108099 100644 (file)
@@ -1,3 +1,11 @@
+2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
+       ("tstqi_z_used" split): Use it.
+       ("cmphi_z_used"): Likewise.
+       ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
+       ("cmpqi_z_used"): Likewise.
+
 2003-04-12  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/7910
index 5acbc2e..f578502 100644 (file)
    (A_REGNUM        5)         ; A (high part of D)
    (B_REGNUM        6)         ; B (low part of D)
    (CC_REGNUM       7)         ; Condition code register
+   (SOFT_Z_REGNUM  11)          ; Z soft register
 ])
 
 ;;--------------------------------------------------------------------
   [(set (cc0)
        (match_operand:QI 0 "tst_operand" ""))
    (use (match_operand:HI 1 "hard_reg_operand" ""))
-   (use (reg:HI 11))]
+   (use (reg:HI SOFT_Z_REGNUM))]
   "z_replacement_completed == 2"
   [(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM))) (match_dup 1))
    (set (match_dup 1) (match_dup 2))
        (compare (match_operand:HI 0 "tst_operand" "dxy,m")
                 (match_operand:HI 1 "cmp_operand" "m,dxy")))
    (use (match_operand:HI 2 "hard_reg_operand" "dxy,dxy"))
-   (use (reg:HI 11))]
+   (use (reg:HI SOFT_Z_REGNUM))]
   ""
   "#")
   
        (compare (match_operand:HI 0 "tst_operand" "")
                 (match_operand:HI 1 "cmp_operand" "")))
    (use (match_operand:HI 2 "hard_reg_operand" ""))
-   (use (reg:HI 11))]
+   (use (reg:HI SOFT_Z_REGNUM))]
   "z_replacement_completed == 2"
   [(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM))) (match_dup 2))
    (set (match_dup 2) (match_dup 3))
        (and:QI (match_operand:QI 0 "tst_operand" "d,m")
                (match_operand:QI 1 "cmp_operand" "m,d")))
    (use (match_operand:HI 2 "hard_reg_operand" "xy,xy"))
-   (use (reg:HI 11))]
+   (use (reg:HI SOFT_Z_REGNUM))]
   ""
   "#")
   
        (and:QI (match_operand:QI 0 "tst_operand" "")
                (match_operand:QI 1 "cmp_operand" "")))
    (use (match_operand:HI 2 "hard_reg_operand" ""))
-   (use (reg:HI 11))]
+   (use (reg:HI SOFT_Z_REGNUM))]
   "z_replacement_completed == 2"
-  [(set (mem:HI (pre_dec:HI (reg:HI 3))) (match_dup 2))
+  [(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM))) (match_dup 2))
    (set (match_dup 2) (match_dup 3))
    (set (cc0) (and:QI (match_dup 0) (match_dup 1)))
-   (set (match_dup 2) (mem:HI (post_inc:HI (reg:HI 3))))]
+   (set (match_dup 2) (mem:HI (post_inc:HI (reg:HI SP_REGNUM))))]
   "operands[3] = gen_rtx (REG, HImode, SOFT_Z_REGNUM);")
 
 (define_insn "bitcmphi"
        (compare (match_operand:QI 0 "tst_operand" "dxy,m")
                 (match_operand:QI 1 "cmp_operand" "m,dxy")))
    (use (match_operand:HI 2 "hard_reg_operand" "dxy,dxy"))
-   (use (reg:HI 11))]
+   (use (reg:HI SOFT_Z_REGNUM))]
   ""
   "#")
   
        (compare (match_operand:QI 0 "tst_operand" "")
                 (match_operand:QI 1 "cmp_operand" "")))
    (use (match_operand:HI 2 "hard_reg_operand" ""))
-   (use (reg:HI 11))]
+   (use (reg:HI SOFT_Z_REGNUM))]
   "z_replacement_completed == 2"
   [(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM))) (match_dup 2))
    (set (match_dup 2) (match_dup 3))
 ;; because there is no memory->memory moves.  It must be defined with
 ;; earlyclobber (&) so that it does not appear in the source or destination 
 ;; address.  Providing patterns for movdi/movdf allows GCC to generate
-;; better code.  [Until now, the scratch register is limited to D becuse
+;; better code.  [Until now, the scratch register is limited to D because
 ;; otherwise we can run out of registers in the A_REGS class for reload].
 ;;
 ;; For 68HC12, the scratch register is not necessary.  To use the same