Re: [PATCH][ARM] NEON DImode not

2012-04-05 Thread Andrew Stubbs
On 28/03/12 14:37, Ramana Radhakrishnan wrote: OK if no regressions. There was a small problem with VMVN being not actually predicable. I've made the obvious change and committed the attached. Andrew 2012-04-05 Andrew Stubbs gcc/ * config/arm/arm.md (arch): Add neon_onlya8 and neon_not

Re: [PATCH][ARM] NEON DImode not

2012-03-28 Thread Ramana Radhakrishnan
On 27 March 2012 21:23, Andrew Stubbs wrote: > On 08/03/12 18:03, Richard Henderson wrote: >> >> On 03/08/12 08:19, Andrew Stubbs wrote: >>> >>> +   (set_attr "arch" "nota8,*,*,onlya8") >>> +   (set_attr_alternative "insn_enabled" >>> +       [(if_then_else (match_test "TARGET_NEON") >>> +        

Re: [PATCH][ARM] NEON DImode not

2012-03-27 Thread Richard Henderson
On 03/27/12 13:23, Andrew Stubbs wrote: > gcc/ > * config/arm/arm.md (arch): Add neon_onlya8 and neon_nota8. > (arch_enabled): Handle new arch types. > (one_cmpldi2): Add NEON support. Looks good to me. r~

Re: [PATCH][ARM] NEON DImode not

2012-03-27 Thread Andrew Stubbs
On 08/03/12 18:03, Richard Henderson wrote: On 03/08/12 08:19, Andrew Stubbs wrote: + (set_attr "arch" "nota8,*,*,onlya8") + (set_attr_alternative "insn_enabled" + [(if_then_else (match_test "TARGET_NEON") + (const_string "yes") (const_string "no")) +(const

Re: [PATCH][ARM] NEON DImode not

2012-03-08 Thread Richard Henderson
On 03/08/12 08:19, Andrew Stubbs wrote: > + (set_attr "arch" "nota8,*,*,onlya8") > + (set_attr_alternative "insn_enabled" > + [(if_then_else (match_test "TARGET_NEON") > +(const_string "yes") (const_string "no")) > + (const_string "yes") > + (const_string "yes"

Re: [PATCH][ARM] NEON DImode not

2012-03-08 Thread Andrew Stubbs
On 01/03/12 17:07, Richard Earnshaw wrote: The RTL part of one_cmpldi2_internal and one_cmpldi2_neon are the same. Given that we now have controls to determine when an alternative is enabled it's generally better to have just one pattern here and turn on the alternatives that are suitable rathe

Re: [PATCH][ARM] NEON DImode not

2012-03-01 Thread Richard Earnshaw
On 01/03/12 12:57, Andrew Stubbs wrote: > On Wed 29 Feb 2012 18:00:19 GMT, Richard Earnshaw wrote: >> Why can't we have a single insn that deals with the have-neon and >> dont-have-neon cases? > > Sorry, I'm not sure I follow? > > There's one insn for the have-neon case, and one for the > don't-

Re: [PATCH][ARM] NEON DImode not

2012-03-01 Thread Andrew Stubbs
On Wed 29 Feb 2012 18:00:19 GMT, Richard Earnshaw wrote: Why can't we have a single insn that deals with the have-neon and dont-have-neon cases? Sorry, I'm not sure I follow? There's one insn for the have-neon case, and one for the don't-have-neon. The expander is necessary to prevent gen_one

Re: [PATCH][ARM] NEON DImode not

2012-02-29 Thread Richard Earnshaw
On 29/02/12 14:48, Andrew Stubbs wrote: > Hi all, > > This patch adds support for the DImode not operation in NEON. > > Currently the compiler must move the value to core registers, invert it > there, and move it back again. This is bonkers because the VMVN > instruction will do the job perfect

[PATCH][ARM] NEON DImode not

2012-02-29 Thread Andrew Stubbs
Hi all, This patch adds support for the DImode not operation in NEON. Currently the compiler must move the value to core registers, invert it there, and move it back again. This is bonkers because the VMVN instruction will do the job perfectly. The patch adds a pattern to support VMVN in DIm