lib/crc/arm/crc64-neon.h:11:9: sparse: sparse: Trying to use reserved word 'return' as identifier
kernel test robot <[email protected]> Fri, 24 Jul 2026 21:14:34 +0800
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
:::::: :::::: Manual check reason: "low confidence static check warning: lib/crc/arm/crc64-neon.h:11:9: sparse: sparse: Trying to use reserved word 'return' as identifier" :::::: 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: e3babebfb83865ec2be90e64d3f73f9aca140b3a lib/crc: arm: Enable arm64's NEON intrinsics implementation of crc64 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: e3babebfb838 ("lib/crc: arm: Enable arm64's NEON intrinsics implementation of crc64") | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ sparse warnings: (new ones prefixed by >>) lib/crc/crc64-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/crc/crc64-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/crc/crc64-neon.c: note: in included file: lib/crc/arm/crc64-neon.h:3:26: sparse: sparse: Expected ; at end of declaration lib/crc/arm/crc64-neon.h:3:26: sparse: sparse: got pmull64 lib/crc/arm/crc64-neon.h:7:20: sparse: sparse: Expected ; at end of declaration lib/crc/arm/crc64-neon.h:7:20: sparse: sparse: got result >> lib/crc/arm/crc64-neon.h:11:9: sparse: sparse: Trying to use reserved word 'return' as identifier lib/crc/arm/crc64-neon.h:11:16: sparse: sparse: Expected ; at end of declaration lib/crc/arm/crc64-neon.h:11:16: sparse: sparse: got result lib/crc/arm/crc64-neon.h:12:1: sparse: sparse: Expected ; at the end of type declaration lib/crc/arm/crc64-neon.h:12:1: sparse: sparse: got } lib/crc/arm/crc64-neon.h:18:20: sparse: sparse: Expected ; at end of declaration lib/crc/arm/crc64-neon.h:18:20: sparse: sparse: got result lib/crc/arm/crc64-neon.h:22:9: sparse: sparse: Trying to use reserved word 'return' as identifier lib/crc/arm/crc64-neon.h:22:16: sparse: sparse: Expected ; at end of declaration lib/crc/arm/crc64-neon.h:22:16: sparse: sparse: got result lib/crc/arm/crc64-neon.h:23:1: sparse: sparse: Expected ; at the end of type declaration lib/crc/arm/crc64-neon.h:23:1: sparse: sparse: got } lib/crc/arm/crc64-neon.h:29:20: sparse: sparse: Expected ; at end of declaration lib/crc/arm/crc64-neon.h:29:20: sparse: sparse: got result lib/crc/arm/crc64-neon.h:33:9: sparse: sparse: Trying to use reserved word 'return' as identifier lib/crc/arm/crc64-neon.h:33:16: sparse: sparse: Expected ; at end of declaration lib/crc/arm/crc64-neon.h:33:16: sparse: sparse: got result lib/crc/arm/crc64-neon.h:34:1: sparse: sparse: Expected ; at the end of type declaration lib/crc/arm/crc64-neon.h:34:1: sparse: sparse: got } lib/crc/crc64-neon.c:22:20: sparse: sparse: Expected ; at end of statement lib/crc/crc64-neon.c:22:20: sparse: sparse: got fold_consts lib/crc/crc64-neon.c:23:20: sparse: sparse: Expected ; at end of statement lib/crc/crc64-neon.c:23:20: sparse: sparse: got v0 lib/crc/crc64-neon.c:24:20: sparse: sparse: Expected ; at end of statement lib/crc/crc64-neon.c:24:20: sparse: sparse: got zero lib/crc/crc64-neon.c:41:20: sparse: sparse: Expected ; at end of statement lib/crc/crc64-neon.c:41:20: sparse: sparse: got bconsts lib/crc/crc64-neon.c:42:20: sparse: sparse: Expected ; at end of statement lib/crc/crc64-neon.c:42:20: sparse: sparse: got final lib/crc/arm/crc64-neon.h:6:22: sparse: sparse: undefined identifier 'vgetq_lane_u64' lib/crc/arm/crc64-neon.h:17:22: sparse: sparse: undefined identifier 'vgetq_lane_u64' lib/crc/arm/crc64-neon.h:17:18: sparse: sparse: symbol 'm' has multiple initializers (originally initialized at lib/crc/arm/crc64-neon.h:6) lib/crc/arm/crc64-neon.h:28:22: sparse: sparse: undefined identifier 'vgetq_lane_u64' lib/crc/arm/crc64-neon.h:28:18: sparse: sparse: symbol 'm' has multiple initializers (originally initialized at lib/crc/arm/crc64-neon.h:17) lib/crc/crc64-neon.c:27:17: sparse: sparse: undefined identifier 'v0' lib/crc/crc64-neon.c:27:23: sparse: sparse: undefined identifier 'vreinterpretq_u64_u8' lib/crc/crc64-neon.c:34:17: sparse: sparse: undefined identifier 'v0' lib/crc/crc64-neon.c:34:22: sparse: sparse: undefined identifier 'pmull64' lib/crc/crc64-neon.c:34:49: sparse: sparse: undefined identifier 'pmull64_high' lib/crc/crc64-neon.c:38:9: sparse: sparse: undefined identifier 'v0' lib/crc/crc64-neon.c:38:14: sparse: sparse: undefined identifier 'vextq_u64' lib/crc/crc64-neon.c:38:39: sparse: sparse: undefined identifier 'pmull64_hi_lo' lib/crc/crc64-neon.c:44:9: sparse: sparse: undefined identifier 'v0' lib/crc/crc64-neon.c:44:15: sparse: sparse: undefined identifier 'vextq_u64' lib/crc/crc64-neon.c:44:43: sparse: sparse: undefined identifier 'pmull64_hi_lo' lib/crc/crc64-neon.c:46:16: sparse: sparse: undefined identifier 'vgetq_lane_u64' vim +/return +11 lib/crc/arm/crc64-neon.h e3babebfb83865 Ard Biesheuvel 2026-04-22 2 e3babebfb83865 Ard Biesheuvel 2026-04-22 @3 static inline uint64x2_t pmull64(uint64x2_t a, uint64x2_t b) e3babebfb83865 Ard Biesheuvel 2026-04-22 4 { e3babebfb83865 Ard Biesheuvel 2026-04-22 5 uint64_t l = vgetq_lane_u64(a, 0); e3babebfb83865 Ard Biesheuvel 2026-04-22 6 uint64_t m = vgetq_lane_u64(b, 0); e3babebfb83865 Ard Biesheuvel 2026-04-22 7 uint64x2_t result; e3babebfb83865 Ard Biesheuvel 2026-04-22 8 e3babebfb83865 Ard Biesheuvel 2026-04-22 9 asm("vmull.p64 %q0, %P1, %P2" : "=w"(result) : "w"(l), "w"(m)); e3babebfb83865 Ard Biesheuvel 2026-04-22 10 e3babebfb83865 Ard Biesheuvel 2026-04-22 @11 return result; e3babebfb83865 Ard Biesheuvel 2026-04-22 12 } e3babebfb83865 Ard Biesheuvel 2026-04-22 13 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki