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

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

2020-11-05 Thread Adrian Ratiu
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 is safer to default clang builds to the known good generic implementati