This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH,ARM] Improve peepholes for LDM with commutative operators


On Tue, Feb 28, 2012 at 05:09:05PM -0000, Greta Yorsh wrote:
> Is it OK for GCC 4.7 Stage 4 ?

Technically this is a regression in 4.7 compared to 4.6, 
so I'd like to get this in. 

However given the stage we are and given that it's not a
correctness issue, I would defer to the RMs. 

In any case there are a couple of changes that I'd like done 
as explained below.

>    [(parallel
>      [(set (match_dup 4) (match_op_dup 5 [(match_dup 6) (match_dup 7)]))
>       (clobber (reg:CC CC_REGNUM))])]
> @@ -1180,9 +1181,10 @@
>          (match_operator:SI 5 "commutative_binary_operator"
>           [(match_operand:SI 6 "s_register_operand" "")
>            (match_operand:SI 7 "s_register_operand" "")]))]
> -  "(((operands[6] == operands[0] && operands[7] == operands[1])
> -     || (operands[7] == operands[0] && operands[6] == operands[1]))
> -    && peep2_reg_dead_p (3, operands[0]) && peep2_reg_dead_p (3, operands[1]))"
> +  "(((rtx_equal_p (operands[6], operands[0]) && rtx_equal_p (operands[7], operands[1]))
> +     || (rtx_equal_p (operands[7], operands[0]) && rtx_equal_p (operands[6], operands[1])))

Likewise.

regards
Ramana


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]