Re: [linux-stable-rc:linux-5.15.y 6874/8723] arch/arm/lib/xor-neon.c:30:2: warning: This code requires at least version 4.6 of GCC

Jason A. Donenfeld
2022-07-24T22:40:04Z

Hi Ard,

On Mon, Jul 25, 2022 at 04:14:48AM +0800, kernel test robot wrote:
> All warnings (new ones prefixed by >>):
>
> >> arch/arm/lib/xor-neon.c:30:2: warning: This code requires at least version 4.6 of GCC [-W#warnings]
> #warning This code requires at least version 4.6 of GCC
> ^
> 1 warning generated.
>
>
> vim +30 arch/arm/lib/xor-neon.c
>
> 01956597cbc46d Ard Biesheuvel 2013-05-17 16
> 01956597cbc46d Ard Biesheuvel 2013-05-17 17 /*
> 01956597cbc46d Ard Biesheuvel 2013-05-17 18 * Pull in the reference implementations while instructing GCC (through
> 01956597cbc46d Ard Biesheuvel 2013-05-17 19 * -ftree-vectorize) to attempt to exploit implicit parallelism and emit
> 01956597cbc46d Ard Biesheuvel 2013-05-17 20 * NEON instructions.
> 01956597cbc46d Ard Biesheuvel 2013-05-17 21 */
> 01956597cbc46d Ard Biesheuvel 2013-05-17 22 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
> 01956597cbc46d Ard Biesheuvel 2013-05-17 23 #pragma GCC optimize "tree-vectorize"
> 01956597cbc46d Ard Biesheuvel 2013-05-17 24 #else
> 01956597cbc46d Ard Biesheuvel 2013-05-17 25 /*
> 01956597cbc46d Ard Biesheuvel 2013-05-17 26 * While older versions of GCC do not generate incorrect code, they fail to
> 01956597cbc46d Ard Biesheuvel 2013-05-17 27 * recognize the parallel nature of these functions, and emit plain ARM code,
> 01956597cbc46d Ard Biesheuvel 2013-05-17 28 * which is known to be slower than the optimized ARM code in asm-arm/xor.h.
> 01956597cbc46d Ard Biesheuvel 2013-05-17 29 */
> 01956597cbc46d Ard Biesheuvel 2013-05-17 @30 #warning This code requires at least version 4.6 of GCC
> 01956597cbc46d Ard Biesheuvel 2013-05-17 31 #endif
> 01956597cbc46d Ard Biesheuvel 2013-05-17 32

Does this file need a depends on ≥4.6 thing in Kconfig? Or is something
else happening here since 4.6 isn't even supported by the kernel these
days?

Jason