Re: [PATCH 1/2] lib/xor: make xor prototypes more friendely to compiler vectorization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 27, 2022 at 09:12:26AM +0100, Ard Biesheuvel wrote:
>
> diff --git a/arch/arm64/lib/xor-neon.c b/arch/arm64/lib/xor-neon.c
> index d189cf4e70ea..64c9577fcf0f 100644
> --- a/arch/arm64/lib/xor-neon.c
> +++ b/arch/arm64/lib/xor-neon.c

This fails to build:

../arch/arm64/lib/xor-neon.c:13:6: warning: no previous prototype for ‘xor_arm64_neon_2’ [-Wmissing-prototypes]
   13 | void xor_arm64_neon_2(unsigned long bytes, unsigned long * __restrict p1,
      |      ^~~~~~~~~~~~~~~~
../arch/arm64/lib/xor-neon.c:40:6: warning: no previous prototype for ‘xor_arm64_neon_3’ [-Wmissing-prototypes]
   40 | void xor_arm64_neon_3(unsigned long bytes, unsigned long * __restrict p1,
      |      ^~~~~~~~~~~~~~~~
../arch/arm64/lib/xor-neon.c:76:6: warning: no previous prototype for ‘xor_arm64_neon_4’ [-Wmissing-prototypes]
   76 | void xor_arm64_neon_4(unsigned long bytes, unsigned long * __restrict p1,
      |      ^~~~~~~~~~~~~~~~
../arch/arm64/lib/xor-neon.c:121:6: warning: no previous prototype for ‘xor_arm64_neon_5’ [-Wmissing-prototypes]
  121 | void xor_arm64_neon_5(unsigned long bytes, unsigned long * __restrict p1,
      |      ^~~~~~~~~~~~~~~~
../arch/arm64/lib/xor-neon.c: In function ‘xor_neon_init’:
../arch/arm64/lib/xor-neon.c:316:29: error: assignment to ‘void (*)(long unsigned int,  long unsigned int * __restrict__,  const long unsigned int * __restrict__,  const long unsigned int * __restrict__)’ from incompatible pointer type ‘void (*)(long unsigned int,  long unsigned int *, long unsigned int *, long unsigned int *)’ [-Werror=incompatible-pointer-types]
  316 |   xor_block_inner_neon.do_3 = xor_arm64_eor3_3;
      |                             ^
../arch/arm64/lib/xor-neon.c:317:29: error: assignment to ‘void (*)(long unsigned int,  long unsigned int * __restrict__,  const long unsigned int * __restrict__,  const long unsigned int * __restrict__,  const long unsigned int * __restrict__)’ from incompatible pointer type ‘void (*)(long unsigned int,  long unsigned int *, long unsigned int *, long unsigned int *, long unsigned int *)’ [-Werror=incompatible-pointer-types]
  317 |   xor_block_inner_neon.do_4 = xor_arm64_eor3_4;
      |                             ^
../arch/arm64/lib/xor-neon.c:318:29: error: assignment to ‘void (*)(long unsigned int,  long unsigned int * __restrict__,  const long unsigned int * __restrict__,  const long unsigned int * __restrict__,  const long unsigned int * __restrict__,  const long unsigned int * __restrict__)’ from incompatible pointer type ‘void (*)(long unsigned int,  long unsigned int *, long unsigned int *, long unsigned int *, long unsigned int *, long unsigned int *)’ [-Werror=incompatible-pointer-types]
  318 |   xor_block_inner_neon.do_5 = xor_arm64_eor3_5;
      |                             ^
cc1: some warnings being treated as errors

Cheers,
-- 
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux