From: Michael Hayes Date: Tue, 20 Oct 1998 03:01:10 +0000 (+0000) Subject: c4x.md (repeat_block_top, [...]): Deleted. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=95cb02033413e492b43f3d74192cf235d5a2c58c;p=gcc.git c4x.md (repeat_block_top, [...]): Deleted. * config/c4x/c4x.md (repeat_block_top, repeat_block_end, repeat_block_filler): Deleted. (*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber): Condition code not set if destination register from 'c' class. (*subbqi3_carry_clobber): Fix typo. From-SVN: r23195 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 254788dce15..8753149652f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +Tue Oct 20 21:56:05 1998 Michael Hayes + + * config/c4x/c4x.md (repeat_block_top, repeat_block_end, + repeat_block_filler): Deleted. + (*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber): + Condition code not set if destination register from 'c' class. + (*subbqi3_carry_clobber): Fix typo. + 1998-10-18 Herman A.J. ten Brugge * reorg.c (steal_delay_list_from_target) Check for insns that diff --git a/gcc/config/c4x/c4x.md b/gcc/config/c4x/c4x.md index bfcc7b0e33b..58033f02c7a 100644 --- a/gcc/config/c4x/c4x.md +++ b/gcc/config/c4x/c4x.md @@ -1699,7 +1699,7 @@ (define_insn "*subqi3_carry_clobber" [(set (match_operand:QI 0 "reg_operand" "=d,?d,d,d,c,?c,c,c") (minus:QI (match_operand:QI 1 "src_operand" "rR,rS<>,0,g,rR,rS<>,0,g") - (match_operand:QI 2 "src_operand" "JR,rS<>,0,g,JR,rS<>,g,0"))) + (match_operand:QI 2 "src_operand" "JR,rS<>,g,0,JR,rS<>,g,0"))) (use (reg:CC_NOOV 21)) (clobber (reg:CC_NOOV 21))] "valid_operands (MINUS, operands, QImode)" @@ -2353,21 +2353,18 @@ (define_insn "*ashlqi3_set" [(set (reg:CC 21) (compare:CC - (ashift:QI (match_operand:QI 1 "src_operand" "rR,rS<>,0,rR,rS<>,0") - (match_operand:QI 2 "src_operand" "JR,rS<>,g,JR,rS<>,g")) + (ashift:QI (match_operand:QI 1 "src_operand" "rR,rS<>,0") + (match_operand:QI 2 "src_operand" "JR,rS<>,g")) (const_int 0))) - (set (match_operand:QI 0 "reg_operand" "=d,?d,d,c,?c,c") + (set (match_operand:QI 0 "reg_operand" "=d,?d,d") (ashift:QI (match_dup 1) (match_dup 2)))] "valid_operands (ASHIFT, operands, QImode)" "@ - ash3\\t%2,%1,%0 - ash3\\t%2,%1,%0 - ash\\t%2,%0 ash3\\t%2,%1,%0 ash3\\t%2,%1,%0 ash\\t%2,%0" - [(set_attr "type" "binarycc,binarycc,binarycc,binary,binary,binary")]) + [(set_attr "type" "binarycc,binarycc,binarycc")]) ; Default to int16 data attr. ; This is only used by lshrhi3_reg where we need a LSH insn that will @@ -2488,19 +2485,17 @@ (define_insn "*ashrqi3_const_set" [(set (reg:CC 21) (compare:CC - (ashiftrt:QI (match_operand:QI 1 "src_operand" "0,0,r,r") - (match_operand:QI 2 "const_int_operand" "n,n,J,J")) + (ashiftrt:QI (match_operand:QI 1 "src_operand" "0,r") + (match_operand:QI 2 "const_int_operand" "n,J")) (const_int 0))) - (set (match_operand:QI 0 "reg_operand" "=?d,?c,d,c") + (set (match_operand:QI 0 "reg_operand" "=?d,d") (ashiftrt:QI (match_dup 1) (match_dup 2)))] "valid_operands (ASHIFTRT, operands, QImode)" "@ ash\\t%n2,%0 - ash\\t%n2,%0 - ash3\\t%n2,%1,%0 ash3\\t%n2,%1,%0" - [(set_attr "type" "binarycc,binarycc,binarycc,binarycc")]) + [(set_attr "type" "binarycc,binarycc")]) (define_insn "*ashrqi3_nonconst_clobber" [(set (match_operand:QI 0 "reg_operand" "=d,?d,d,c,?c,c") @@ -4520,46 +4515,6 @@ " [(set_attr "type" "repeat_top")]) -; operand 0 is the loop depth -; operand 1 is the loop count -; operand 2 is the start label -; operand 3 is the end label -(define_expand "repeat_block_top" - [(set (reg:QI 27) (match_operand:QI 1 "src_operand" "")) - (use (match_operand:QI 0 "immediate_operand" "")) - (parallel[(set (reg:QI 25) (label_ref (match_operand 2 "" ""))) - (set (reg:QI 26) (label_ref (match_operand 3 "" "")))])] - "" - "if (CONSTANT_P (operands[1]) - && !const_operand (operands[1], QImode)) - operands[1] = force_const_mem (QImode, operands[1]);" - ) - -; operand 0 is the loop depth -(define_insn "repeat_block_end" - [(set (pc) - (if_then_else (ne (reg:QI 27) (const_int 0)) - (label_ref (match_operand 1 "" "")) - (pc))) - (use (match_operand:QI 0 "immediate_operand" "")) - (use (reg:QI 25)) - (use (reg:QI 26)) - (set (reg:QI 27) - (plus:QI (reg:QI 27) - (const_int -1)))] - "" - "* - return c4x_rptb_nop_p(insn) ? \"nop\" : \"\";" - [(set_attr "type" "repeat")]) - -; to prevent labels being coalesced and to leave a space to sink insns -; out of a repeat block loop. -(define_insn "repeat_block_filler" - [(unspec [(const_int 0)] 7)] - "" - "" - [(set_attr "type" "repeat")]) - (define_insn "rptb_end" [(set (pc) @@ -4580,7 +4535,7 @@ (define_expand "decrement_and_branch_on_count" [(parallel [(set (pc) - (if_then_else (ge (match_operand:QI 0 "rc_reg_operand" "v") + (if_then_else (ge (match_operand:QI 0 "rc_reg_operand" "") (const_int 0)) (label_ref (match_operand 1 "" "")) (pc)))