Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-12 Thread Nick Desaulniers
On Thu, Nov 12, 2020 at 1:50 PM Arvind Sankar wrote: > > On Wed, Nov 11, 2020 at 04:15:59PM +0200, Adrian Ratiu wrote: > > On Tue, 10 Nov 2020, Nick Desaulniers > > wrote: > > > > > > Yes, though additionally Arvind points out that this code is > > > kind of curious if there was overlap; maybe th

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-12 Thread Arvind Sankar
On Wed, Nov 11, 2020 at 04:15:59PM +0200, Adrian Ratiu wrote: > On Tue, 10 Nov 2020, Nick Desaulniers > wrote: > > > > Yes, though additionally Arvind points out that this code is > > kind of curious if there was overlap; maybe the parameters > > should just be restrict-qualified. > > > > Fo

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-11 Thread Adrian Ratiu
On Tue, 10 Nov 2020, Nick Desaulniers wrote: On Tue, Nov 10, 2020 at 3:54 PM Adrian Ratiu wrote: On Tue, 10 Nov 2020, Nick Desaulniers wrote: > On Mon, Nov 9, 2020 at 11:51 AM Adrian Ratiu > wrote: >> >> On Fri, 06 Nov 2020, Nick Desaulniers >> wrote: >> > +#pragma clang loop vecto

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-10 Thread Nick Desaulniers
On Tue, Nov 10, 2020 at 3:54 PM Adrian Ratiu wrote: > > On Tue, 10 Nov 2020, Nick Desaulniers > wrote: > > On Mon, Nov 9, 2020 at 11:51 AM Adrian Ratiu > > wrote: > >> > >> On Fri, 06 Nov 2020, Nick Desaulniers > >> wrote: > >> > +#pragma clang loop vectorize(enable) > >> > do { > >> >

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-10 Thread Adrian Ratiu
On Tue, 10 Nov 2020, Nick Desaulniers wrote: On Mon, Nov 9, 2020 at 11:51 AM Adrian Ratiu wrote: On Fri, 06 Nov 2020, Nick Desaulniers wrote: > +#pragma clang loop vectorize(enable) > do { > p1[0] ^= p2[0] ^ p3[0] ^ p4[0] ^ p5[0]; p1[1] > ^= p2[1

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-10 Thread Arvind Sankar
On Tue, Nov 10, 2020 at 02:39:59PM -0800, Nick Desaulniers wrote: > On Tue, Nov 10, 2020 at 2:39 PM Nick Desaulniers > wrote: > > > > On Tue, Nov 10, 2020 at 2:36 PM Nick Desaulniers > > wrote: > > > > > > On Tue, Nov 10, 2020 at 2:15 PM Arvind Sankar > > > wrote: > > > > > > > > On Tue, Nov 10

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-10 Thread Nick Desaulniers
On Tue, Nov 10, 2020 at 2:39 PM Nick Desaulniers wrote: > > On Tue, Nov 10, 2020 at 2:36 PM Nick Desaulniers > wrote: > > > > On Tue, Nov 10, 2020 at 2:15 PM Arvind Sankar wrote: > > > > > > On Tue, Nov 10, 2020 at 01:41:17PM -0800, Nick Desaulniers wrote: > > > > On Mon, Nov 9, 2020 at 11:51 AM

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-10 Thread Nick Desaulniers
On Tue, Nov 10, 2020 at 2:36 PM Nick Desaulniers wrote: > > On Tue, Nov 10, 2020 at 2:15 PM Arvind Sankar wrote: > > > > On Tue, Nov 10, 2020 at 01:41:17PM -0800, Nick Desaulniers wrote: > > > On Mon, Nov 9, 2020 at 11:51 AM Adrian Ratiu > > > wrote: > > > > > > > > On Fri, 06 Nov 2020, Nick De

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-10 Thread Nick Desaulniers
On Tue, Nov 10, 2020 at 2:15 PM Arvind Sankar wrote: > > On Tue, Nov 10, 2020 at 01:41:17PM -0800, Nick Desaulniers wrote: > > On Mon, Nov 9, 2020 at 11:51 AM Adrian Ratiu > > wrote: > > > > > > On Fri, 06 Nov 2020, Nick Desaulniers > > > wrote: > > > > +#pragma clang loop vectorize(enable) > >

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-10 Thread Arvind Sankar
On Tue, Nov 10, 2020 at 01:41:17PM -0800, Nick Desaulniers wrote: > On Mon, Nov 9, 2020 at 11:51 AM Adrian Ratiu > wrote: > > > > On Fri, 06 Nov 2020, Nick Desaulniers > > wrote: > > > +#pragma clang loop vectorize(enable) > > > do { > > > p1[0] ^= p2[0] ^ p3[0] ^ p4[0] ^

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-10 Thread Nick Desaulniers
On Mon, Nov 9, 2020 at 11:51 AM Adrian Ratiu wrote: > > On Fri, 06 Nov 2020, Nick Desaulniers > wrote: > > +#pragma clang loop vectorize(enable) > > do { > > p1[0] ^= p2[0] ^ p3[0] ^ p4[0] ^ p5[0]; p1[1] ^= > > p2[1] ^ p3[1] ^ p4[1] ^ p5[1]; > > ``` seems t

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-09 Thread Adrian Ratiu
On Fri, 06 Nov 2020, Nick Desaulniers wrote: On Fri, Nov 6, 2020 at 3:50 AM Adrian Ratiu wrote: Hi Nathan, On Fri, 06 Nov 2020, Nathan Chancellor wrote: > + Ard, who wrote this code. > > On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: >> Due to a Clang bug [1] neon auto

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-08 Thread Ard Biesheuvel
On Sun, 8 Nov 2020 at 19:10, Arvind Sankar wrote: > > On Sun, Nov 08, 2020 at 12:40:14PM -0500, Arvind Sankar wrote: > > On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: > > > Due to a Clang bug [1] neon autoloop vectorization does not happen or > > > happens badly with no gains and c

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-08 Thread Arvind Sankar
On Sun, Nov 08, 2020 at 12:40:14PM -0500, Arvind Sankar wrote: > On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: > > Due to a Clang bug [1] neon autoloop vectorization does not happen or > > happens badly with no gains and considering previous GCC experiences > > which generated unopt

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-08 Thread Arvind Sankar
On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: > Due to a Clang bug [1] neon autoloop vectorization does not happen or > happens badly with no gains and considering previous GCC experiences > which generated unoptimized code which was worse than the default asm > implementation, it i

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-07 Thread Adrian Ratiu
On Sat, 07 Nov 2020, Russell King - ARM Linux admin wrote: On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: diff --git a/arch/arm/lib/xor-neon.c b/arch/arm/lib/xor-neon.c index e1e76186ec23..84c91c48dfa2 100644 --- a/arch/arm/lib/xor-neon.c +++ b/arch/arm/lib/xor-neon.c @@ -18,6

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-07 Thread Adrian Ratiu
On Fri, 06 Nov 2020, Nick Desaulniers wrote: On Fri, Nov 6, 2020 at 3:50 AM Adrian Ratiu wrote: Hi Nathan, On Fri, 06 Nov 2020, Nathan Chancellor wrote: > + Ard, who wrote this code. > > On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: >> Due to a Clang bug [1] neon auto

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-07 Thread Russell King - ARM Linux admin
On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: > diff --git a/arch/arm/lib/xor-neon.c b/arch/arm/lib/xor-neon.c > index e1e76186ec23..84c91c48dfa2 100644 > --- a/arch/arm/lib/xor-neon.c > +++ b/arch/arm/lib/xor-neon.c > @@ -18,6 +18,10 @@ MODULE_LICENSE("GPL"); > * Pull in the refe

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-06 Thread Nick Desaulniers
On Fri, Nov 6, 2020 at 3:50 AM Adrian Ratiu wrote: > > Hi Nathan, > > On Fri, 06 Nov 2020, Nathan Chancellor > wrote: > > + Ard, who wrote this code. > > > > On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: > >> Due to a Clang bug [1] neon autoloop vectorization does not > >> happen

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-06 Thread Nathan Chancellor
Hi Adrian, On Fri, Nov 06, 2020 at 01:50:13PM +0200, Adrian Ratiu wrote: > I tested Arnd's kernel patch from the LLVM bugtracker [1], but with the > Clang v10.0.1 I still get warnings like the following even though the > __restrict workaround seems to affect the generated instructions: > > ./incl

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-06 Thread Adrian Ratiu
Hi Nathan, On Fri, 06 Nov 2020, Nathan Chancellor wrote: + Ard, who wrote this code. On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: Due to a Clang bug [1] neon autoloop vectorization does not happen or happens badly with no gains and considering previous GCC experiences whic

Re: [PATCH 2/2] arm: lib: xor-neon: disable clang vectorization

2020-11-06 Thread Nathan Chancellor
+ Ard, who wrote this code. On Fri, Nov 06, 2020 at 07:14:36AM +0200, Adrian Ratiu wrote: > Due to a Clang bug [1] neon autoloop vectorization does not happen or > happens badly with no gains and considering previous GCC experiences > which generated unoptimized code which was worse than the defau