Re: [PATCH][ARM] one_cmpldi2 in NEON

2011-12-07 Thread Andrew Stubbs
On 07/12/11 16:25, Richard Earnshaw wrote: 2011-12-06 Andrew Stubbs gcc/ * config/arm/arm.md (one_cmpldi2): Rename to ... (one_cmpldi2_core): ... this, and modify it to prevent it being used for NEON. (one_cmpldi2): New define_expand. * config/arm

Re: [PATCH][ARM] one_cmpldi2 in NEON

2011-12-07 Thread Richard Earnshaw
On 06/12/11 17:59, Andrew Stubbs wrote: > This patch adds a one's complement pattern for doing DImode 'not' in > NEON registers. > > There are already patterns for doing one's complement of vectors, and > even though it boils down to the same instruction, the DImode case was > missing. > > The

Re: [PATCH][ARM] one_cmpldi2 in NEON

2011-12-07 Thread Andrew Stubbs
On 06/12/11 23:07, Richard Henderson wrote: On 12/06/2011 01:42 PM, Andrew Stubbs wrote: On Tue 06 Dec 2011 21:05:30 GMT, Richard Henderson wrote: On 12/06/2011 09:59 AM, Andrew Stubbs wrote: +(define_insn "*one_cmpldi2_neon" + [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?w

Re: [PATCH][ARM] one_cmpldi2 in NEON

2011-12-06 Thread Richard Henderson
On 12/06/2011 01:42 PM, Andrew Stubbs wrote: > On Tue 06 Dec 2011 21:05:30 GMT, Richard Henderson wrote: >> On 12/06/2011 09:59 AM, Andrew Stubbs wrote: >>> +(define_insn "*one_cmpldi2_neon" >>> + [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?w") >>> +(not:DI (match_operand:D

Re: [PATCH][ARM] one_cmpldi2 in NEON

2011-12-06 Thread Andrew Stubbs
On Tue 06 Dec 2011 21:05:30 GMT, Richard Henderson wrote: On 12/06/2011 09:59 AM, Andrew Stubbs wrote: +(define_insn "*one_cmpldi2_neon" + [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?w") + (not:DI (match_operand:DI 1 "s_register_operand" " w, 0, r, w")))] alternat

Re: [PATCH][ARM] one_cmpldi2 in NEON

2011-12-06 Thread Richard Henderson
On 12/06/2011 09:59 AM, Andrew Stubbs wrote: > +(define_insn "*one_cmpldi2_neon" > + [(set (match_operand:DI 0 "s_register_operand" "=w,?&r,?&r,?w") > + (not:DI (match_operand:DI 1 "s_register_operand" " w, 0, r, w")))] alternative 0 == alternative 3? r~

Re: [PATCH][ARM] one_cmpldi2 in NEON

2011-12-06 Thread Andrew Stubbs
On Tue 06 Dec 2011 18:43:05 GMT, Julian Brown wrote: On Tue, 06 Dec 2011 17:59:44 + Andrew Stubbs wrote: This patch adds a one's complement pattern for doing DImode 'not' in NEON registers. There are already patterns for doing one's complement of vectors, and even though it boils down to

Re: [PATCH][ARM] one_cmpldi2 in NEON

2011-12-06 Thread Julian Brown
On Tue, 06 Dec 2011 17:59:44 + Andrew Stubbs wrote: > This patch adds a one's complement pattern for doing DImode 'not' in > NEON registers. > > There are already patterns for doing one's complement of vectors, and > even though it boils down to the same instruction, the DImode case > was

[PATCH][ARM] one_cmpldi2 in NEON

2011-12-06 Thread Andrew Stubbs
This patch adds a one's complement pattern for doing DImode 'not' in NEON registers. There are already patterns for doing one's complement of vectors, and even though it boils down to the same instruction, the DImode case was missing. The patch needs to be a little more complicated than usin