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

From: Nick Desaulniers
Date: Thu Nov 12 2020 - 16:55:51 EST


On Thu, Nov 12, 2020 at 1:50 PM Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
>
> On Wed, Nov 11, 2020 at 04:15:59PM +0200, Adrian Ratiu wrote:
> > On Tue, 10 Nov 2020, Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> > 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.
> > >
> >
> > For now I think I'll just re-send the GCC changes and leave the
> > Clang optimization as is, until we better understand what's
> > happening and what's the best way to enable it.
> >
>
> Note that the __restrict__ keywords also help GCC -- it saves it from
> having to emit the non-vectorized version and switch between the two at
> runtime. If we can verify it's safe, it's a good thing to add all
> around.

100% agree. Even a BUILD_BUG_ON or WARN_ON in callers to validate
such an invariant might be nice.
--
Thanks,
~Nick Desaulniers