Re: [PATCH][ARM] NEON DImode neg

2012-04-30 Thread Andrew Stubbs
On 16/04/12 13:41, Richard Earnshaw wrote: P.S. This patch can't actually be committed until my "NEON DImode immediate constants" patch is approved and committed. (Without that the load #0 needs a constant pool, and loading constants this late has a bug at -O0.) neon-neg64.patch 2012-04-12 An

Re: [PATCH][ARM] NEON DImode neg

2012-04-16 Thread Richard Earnshaw
On 14/04/12 14:11, Andrew Stubbs wrote: > And now with the patch. :( > > On 14/04/12 13:48, Andrew Stubbs wrote: >> On 12/04/12 16:48, Richard Earnshaw wrote: >>> If negation in Neon needs a scratch register, it seems to me to be >>> somewhat odd that we're disparaging the ARM version. >>> >>> Als

Re: [PATCH][ARM] NEON DImode neg

2012-04-14 Thread Andrew Stubbs
And now with the patch. :( On 14/04/12 13:48, Andrew Stubbs wrote: On 12/04/12 16:48, Richard Earnshaw wrote: If negation in Neon needs a scratch register, it seems to me to be somewhat odd that we're disparaging the ARM version. Also, wouldn't it be sensible to support a variant that was earl

Re: [PATCH][ARM] NEON DImode neg

2012-04-14 Thread Andrew Stubbs
On 12/04/12 16:48, Richard Earnshaw wrote: If negation in Neon needs a scratch register, it seems to me to be somewhat odd that we're disparaging the ARM version. Also, wouldn't it be sensible to support a variant that was early-clobber on operand 0, but loaded immediate zero into that value fir

Re: [PATCH][ARM] NEON DImode neg

2012-04-12 Thread Richard Earnshaw
On 12/04/12 17:16, Andrew Stubbs wrote: > On 12/04/12 16:48, Richard Earnshaw wrote: >> If negation in Neon needs a scratch register, it seems to me to be >> somewhat odd that we're disparaging the ARM version. > > Good point, I'm really meaning to provide missing functionality in NEON > to preve

Re: [PATCH][ARM] NEON DImode neg

2012-04-12 Thread Andrew Stubbs
On 12/04/12 16:48, Richard Earnshaw wrote: If negation in Neon needs a scratch register, it seems to me to be somewhat odd that we're disparaging the ARM version. Good point, I'm really meaning to provide missing functionality in NEON to prevent unnecessary moves, rather than cause them, so I

Re: [PATCH][ARM] NEON DImode neg

2012-04-12 Thread Richard Earnshaw
On 26/03/12 11:14, Andrew Stubbs wrote: > On 28/02/12 17:45, Andrew Stubbs wrote: >> Hi all, >> >> This patch adds a DImode negate pattern for NEON. >> >> Unfortunately, the NEON vneg instruction only supports vectors, not >> singletons, so there's no direct way to do it in DImode, and the >> compi

Re: [PATCH][ARM] NEON DImode neg

2012-04-12 Thread Andrew Stubbs
Ping. On 26/03/12 11:14, Andrew Stubbs wrote: On 28/02/12 17:45, Andrew Stubbs wrote: Hi all, This patch adds a DImode negate pattern for NEON. Unfortunately, the NEON vneg instruction only supports vectors, not singletons, so there's no direct way to do it in DImode, and the compiler ends up

Re: [PATCH][ARM] NEON DImode neg

2012-03-26 Thread Andrew Stubbs
On 28/02/12 17:45, Andrew Stubbs wrote: Hi all, This patch adds a DImode negate pattern for NEON. Unfortunately, the NEON vneg instruction only supports vectors, not singletons, so there's no direct way to do it in DImode, and the compiler ends up moving the value back to core registers, negati

Re: [PATCH][ARM] NEON DImode neg

2012-02-29 Thread Andrew Stubbs
On 28/02/12 17:45, Andrew Stubbs wrote: This patch adds a DImode negate pattern for NEON. Oops, that patch completely failed to allow for the fallback to instructions that work in core registers. It also forgot to mention that the CC register was clobbered. This patch is the same except tha

[PATCH][ARM] NEON DImode neg

2012-02-28 Thread Andrew Stubbs
Hi all, This patch adds a DImode negate pattern for NEON. Unfortunately, the NEON vneg instruction only supports vectors, not singletons, so there's no direct way to do it in DImode, and the compiler ends up moving the value back to core registers, negating it, and returning to NEON afterward