From: Stephane Carrez Date: Sat, 12 Apr 2003 20:05:55 +0000 (+0200) Subject: m68hc11.md (SOFT_Z_REGNUM): New constant. X-Git-Tag: releases/gcc-3.4.0~7336 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0921442473dbe2f14488153e94acb3d0b4524b92;p=thirdparty%2Fgcc.git m68hc11.md (SOFT_Z_REGNUM): New constant. * 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. From-SVN: r65522 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e9f49dccf25..5108099fd98b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2003-04-12 Stephane Carrez + + * 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 PR c++/7910 diff --git a/gcc/config/m68hc11/m68hc11.md b/gcc/config/m68hc11/m68hc11.md index 5acbc2ea030b..f578502004f7 100644 --- a/gcc/config/m68hc11/m68hc11.md +++ b/gcc/config/m68hc11/m68hc11.md @@ -143,6 +143,7 @@ (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 ]) ;;-------------------------------------------------------------------- @@ -258,7 +259,7 @@ [(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)) @@ -365,7 +366,7 @@ (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))] "" "#") @@ -374,7 +375,7 @@ (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)) @@ -456,7 +457,7 @@ (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))] "" "#") @@ -465,12 +466,12 @@ (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" @@ -546,7 +547,7 @@ (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))] "" "#") @@ -555,7 +556,7 @@ (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)) @@ -620,7 +621,7 @@ ;; 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