arch/arm/include/asm/neon-intrinsics.h:7:2: sparse: sparse: You should compile this file with '-march=armv7-a -mfloat-abi=softfp -mfpu=neon'

kernel test robot <[email protected]> Fri, 24 Jul 2026 19:48:47 +0800
Newsgroups dev.linux.lists.oe-kbuild
Message-ID <[email protected]>
:::::: 
:::::: Manual check reason: "low confidence static check first_new_problem: arch/arm/include/asm/neon-intrinsics.h:7:2: sparse: sparse: You should compile this file with '-march=armv7-a -mfloat-abi=softfp -mfpu=neon'"
:::::: 

BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Ard Biesheuvel <[email protected]>
CC: Eric Biggers <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4539944e515183668109bdf4d0c3d7d228383d88
commit: a967b1f51c83b65372a93d652a888e3addd9c5a3 xor/arm: Replace vectorized implementation with arm64's intrinsics
date:   8 weeks ago
:::::: branch date: 2 days ago
:::::: commit date: 8 weeks ago
config: arm-randconfig-r123-20260724 (https://download.01.org/0day-ci/archive/20260724/[email protected]/config)
compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260724/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: a967b1f51c83 ("xor/arm: Replace vectorized implementation with arm64's intrinsics")
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

sparse warnings: (new ones prefixed by >>)
   lib/raid/xor/xor-neon.c: note: in included file:
>> arch/arm/include/asm/neon-intrinsics.h:7:2: sparse: sparse: You should compile this file with '-march=armv7-a -mfloat-abi=softfp -mfpu=neon'
   lib/raid/xor/xor-neon.c: note: in included file (through arch/arm/include/asm/neon-intrinsics.h):
   ../lib/gcc/arm-linux-gnueabi/8.5.0/include/arm_neon.h:31:2: sparse: sparse: "NEON intrinsics not available with the soft-float ABI.  Please use -mfloat-abi=softfp or -mfloat-abi=hard"
   lib/raid/xor/xor-neon.c:18:29: sparse: sparse: Expected ; at end of declaration
   lib/raid/xor/xor-neon.c:18:29: sparse: sparse: got v0
   lib/raid/xor/xor-neon.c:47:29: sparse: sparse: Expected ; at end of declaration
   lib/raid/xor/xor-neon.c:47:29: sparse: sparse: got v0
   lib/raid/xor/xor-neon.c:85:29: sparse: sparse: Expected ; at end of declaration
   lib/raid/xor/xor-neon.c:85:29: sparse: sparse: got v0
   lib/raid/xor/xor-neon.c:132:29: sparse: sparse: Expected ; at end of declaration
   lib/raid/xor/xor-neon.c:132:29: sparse: sparse: got v0
   lib/raid/xor/xor-neon.c:23:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:23:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:24:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:24:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:25:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:25:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:26:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:26:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:29:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:30:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:31:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:32:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:52:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:52:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:53:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:53:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:54:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:54:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:55:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:55:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:58:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:58:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:59:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:59:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:60:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:60:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:61:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:61:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:64:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:65:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:66:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:67:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:90:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:90:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:91:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:91:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:92:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:92:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:93:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:93:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:96:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:96:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:97:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:97:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:98:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:98:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:99:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:99:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:102:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:102:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:103:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:103:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:104:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:104:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:105:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:105:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:108:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:109:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:110:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:111:17: sparse: sparse: undefined identifier 'vst1q_u64'
   lib/raid/xor/xor-neon.c:137:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:137:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:138:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:138:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:139:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:139:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:140:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:140:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:143:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:143:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:144:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:144:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:145:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:145:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:146:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:146:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:149:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:149:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:150:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:150:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:151:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:151:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:152:17: sparse: sparse: undefined identifier 'v3'
   lib/raid/xor/xor-neon.c:152:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:155:17: sparse: sparse: undefined identifier 'v0'
   lib/raid/xor/xor-neon.c:155:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:156:17: sparse: sparse: undefined identifier 'v1'
   lib/raid/xor/xor-neon.c:156:22: sparse: sparse: undefined identifier 'veorq_u64'
   lib/raid/xor/xor-neon.c:157:17: sparse: sparse: undefined identifier 'v2'
   lib/raid/xor/xor-neon.c:157:22: sparse: sparse: undefined identifier 'veorq_u64'

vim +7 arch/arm/include/asm/neon-intrinsics.h

4156e65624f8a1 Ard Biesheuvel 2026-04-22  5  
4156e65624f8a1 Ard Biesheuvel 2026-04-22  6  #ifndef __ARM_NEON__
4156e65624f8a1 Ard Biesheuvel 2026-04-22 @7  #error You should compile this file with '-march=armv7-a -mfloat-abi=softfp -mfpu=neon'
4156e65624f8a1 Ard Biesheuvel 2026-04-22  8  #endif
4156e65624f8a1 Ard Biesheuvel 2026-04-22  9  

:::::: The code at line 7 was first introduced by commit
:::::: 4156e65624f8a1816cad423ec005b336e280999d ARM: Add a neon-intrinsics.h header like on arm64

:::::: TO: Ard Biesheuvel <[email protected]>
:::::: CC: Eric Biggers <[email protected]>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki