lib/raid/xor/arm64/xor-eor3.c:19:9: sparse: sparse: Trying to use reserved word 'return' as identifier
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
:::::: :::::: Manual check reason: "low confidence static check warning: lib/raid/xor/arm64/xor-eor3.c:19: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: 3d6d817622b0a9721e3cc404df3469171582be13 commit: 4d3c5cbfe2b55c12ad1d866ddf0928d13d775816 xor/arm64: Use shared NEON intrinsics implementation from 32-bit ARM date: 3 months ago :::::: branch date: 27 hours ago :::::: commit date: 3 months ago config: arm64-randconfig-r112-20260813 (https://download.01.org/0day-ci/archive/20260814/[email protected]/config) compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 6ea395e4fe4db26920d57779ddae98eac6ba945d) rustc: rustc 1.96.0 (ac68faa20 2026-05-25) sparse: v0.6.5-rc1 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260814/[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: 4d3c5cbfe2b5 ("xor/arm64: Use shared NEON intrinsics implementation from 32-bit ARM") | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ sparse warnings: (new ones prefixed by >>) lib/raid/xor/arm64/xor-eor3.c: note: in included file (through arch/arm64/include/asm/neon-intrinsics.h): /opt/cross/clang-844a18e753/lib/clang/24/include/arm_neon.h:30:2: sparse: sparse: "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard" lib/raid/xor/arm64/xor-eor3.c:12:26: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:12:26: sparse: sparse: got eor3 >> lib/raid/xor/arm64/xor-eor3.c:19:9: sparse: sparse: Trying to use reserved word 'return' as identifier lib/raid/xor/arm64/xor-eor3.c:19:16: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:19:16: sparse: sparse: got res lib/raid/xor/arm64/xor-eor3.c:20:1: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:20:1: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:30:29: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:30:29: sparse: sparse: got v0 >> lib/raid/xor/arm64/xor-eor3.c:33:9: sparse: sparse: Trying to use reserved word 'do' as identifier lib/raid/xor/arm64/xor-eor3.c:33:12: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:33:12: sparse: sparse: got { lib/raid/xor/arm64/xor-eor3.c:45:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:45:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:46:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:46:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:47:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:47:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:48:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:48:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:50:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:50:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:51:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:51:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:52:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:52:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:53:9: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:53:9: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:54:1: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:54:1: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:66:29: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:66:29: sparse: sparse: got v0 lib/raid/xor/arm64/xor-eor3.c:69:9: sparse: sparse: Trying to use reserved word 'do' as identifier lib/raid/xor/arm64/xor-eor3.c:69:12: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:69:12: sparse: sparse: got { lib/raid/xor/arm64/xor-eor3.c:87:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:87:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:88:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:88:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:89:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:89:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:90:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:90:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:92:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:92:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:93:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:93:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:94:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:94:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:95:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:95:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:96:9: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:96:9: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:97:1: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:97:1: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:111:29: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:111:29: sparse: sparse: got v0 lib/raid/xor/arm64/xor-eor3.c:114:9: sparse: sparse: Trying to use reserved word 'do' as identifier lib/raid/xor/arm64/xor-eor3.c:114:12: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:114:12: sparse: sparse: got { lib/raid/xor/arm64/xor-eor3.c:132:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:132:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:133:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:133:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:134:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:134:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:135:31: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:135:31: sparse: sparse: got + lib/raid/xor/arm64/xor-eor3.c:137:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:137:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:138:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:138:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:139:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:139:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:140:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:140:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:141:21: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:141:21: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:142:9: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:142:9: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:143:1: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:143:1: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got > >> lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Trying to use reserved word 'while' as identifier lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Trying to use reserved word 'do' as identifier lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got { lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got ! >> lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Trying to use reserved word 'if' as identifier lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ) in nested declarator lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got < lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ) in function declarator lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got == >> lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Trying to use reserved word 'if' as identifier >> lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Trying to use reserved word 'else' as identifier lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got if >> lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Trying to use reserved word 'else' as identifier lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got if >> lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Trying to use reserved word 'else' as identifier lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got __xor_eor3_5 lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got -= lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at end of declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got += lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: Expected ; at the end of type declaration lib/raid/xor/arm64/xor-eor3.c:145:1: sparse: sparse: got } lib/raid/xor/arm64/xor-eor3.c:27:37: sparse: sparse: undefined identifier 'p2' lib/raid/xor/arm64/xor-eor3.c:28:37: sparse: sparse: undefined identifier 'p3' lib/raid/xor/arm64/xor-eor3.c:31:22: sparse: sparse: undefined identifier 'bytes' lib/raid/xor/arm64/xor-eor3.c:37:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:39:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:41:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:51:17: sparse: sparse: symbol 'dp2' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:51:17: sparse: int [addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:27:18: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:27:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:52:17: sparse: sparse: symbol 'dp3' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:52:17: sparse: int [addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:28:18: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:28:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:62:37: sparse: sparse: undefined identifier 'p2' lib/raid/xor/arm64/xor-eor3.c:62:18: sparse: sparse: symbol 'dp2' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:62:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:51:17: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:51:17: sparse: int [addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:63:37: sparse: sparse: undefined identifier 'p3' lib/raid/xor/arm64/xor-eor3.c:63:18: sparse: sparse: symbol 'dp3' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:63:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:52:17: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:52:17: sparse: int [addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:64:37: sparse: sparse: undefined identifier 'p4' lib/raid/xor/arm64/xor-eor3.c:67:22: sparse: sparse: undefined identifier 'bytes' lib/raid/xor/arm64/xor-eor3.c:67:14: sparse: sparse: symbol 'lines' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:31) lib/raid/xor/arm64/xor-eor3.c:73:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:73:17: sparse: sparse: symbol 'v1' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:37) lib/raid/xor/arm64/xor-eor3.c:75:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:75:17: sparse: sparse: symbol 'v2' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:39) lib/raid/xor/arm64/xor-eor3.c:77:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:77:17: sparse: sparse: symbol 'v3' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:41) lib/raid/xor/arm64/xor-eor3.c:81:22: sparse: sparse: undefined identifier 'veorq_u64' lib/raid/xor/arm64/xor-eor3.c:82:22: sparse: sparse: undefined identifier 'veorq_u64' lib/raid/xor/arm64/xor-eor3.c:82:17: sparse: sparse: symbol 'v1' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:73) lib/raid/xor/arm64/xor-eor3.c:83:22: sparse: sparse: undefined identifier 'veorq_u64' lib/raid/xor/arm64/xor-eor3.c:83:17: sparse: sparse: symbol 'v2' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:75) lib/raid/xor/arm64/xor-eor3.c:84:22: sparse: sparse: undefined identifier 'veorq_u64' lib/raid/xor/arm64/xor-eor3.c:84:17: sparse: sparse: symbol 'v3' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:77) lib/raid/xor/arm64/xor-eor3.c:93:17: sparse: sparse: symbol 'dp2' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:93:17: sparse: int [addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:62:18: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:62:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:94:17: sparse: sparse: symbol 'dp3' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:94:17: sparse: int [addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:63:18: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:63:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:95:17: sparse: sparse: symbol 'dp4' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:95:17: sparse: int [addressable] [toplevel] dp4 lib/raid/xor/arm64/xor-eor3.c:64:18: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:64:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp4 lib/raid/xor/arm64/xor-eor3.c:106:37: sparse: sparse: undefined identifier 'p2' lib/raid/xor/arm64/xor-eor3.c:106:18: sparse: sparse: symbol 'dp2' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:106:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:93:17: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:93:17: sparse: int [addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:107:37: sparse: sparse: undefined identifier 'p3' lib/raid/xor/arm64/xor-eor3.c:107:18: sparse: sparse: symbol 'dp3' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:107:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:94:17: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:94:17: sparse: int [addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:108:37: sparse: sparse: undefined identifier 'p4' lib/raid/xor/arm64/xor-eor3.c:108:18: sparse: sparse: symbol 'dp4' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:108:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp4 lib/raid/xor/arm64/xor-eor3.c:95:17: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:95:17: sparse: int [addressable] [toplevel] dp4 lib/raid/xor/arm64/xor-eor3.c:109:37: sparse: sparse: undefined identifier 'p5' lib/raid/xor/arm64/xor-eor3.c:112:22: sparse: sparse: undefined identifier 'bytes' lib/raid/xor/arm64/xor-eor3.c:112:14: sparse: sparse: symbol 'lines' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:67) lib/raid/xor/arm64/xor-eor3.c:118:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:118:17: sparse: sparse: symbol 'v1' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:82) lib/raid/xor/arm64/xor-eor3.c:120:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:120:17: sparse: sparse: symbol 'v2' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:83) lib/raid/xor/arm64/xor-eor3.c:122:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:122:17: sparse: sparse: symbol 'v3' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:84) lib/raid/xor/arm64/xor-eor3.c:126:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:126:17: sparse: sparse: symbol 'v0' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:81) lib/raid/xor/arm64/xor-eor3.c:127:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:127:17: sparse: sparse: symbol 'v1' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:118) lib/raid/xor/arm64/xor-eor3.c:128:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:128:17: sparse: sparse: symbol 'v2' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:120) lib/raid/xor/arm64/xor-eor3.c:129:22: sparse: sparse: undefined identifier 'eor3' lib/raid/xor/arm64/xor-eor3.c:129:17: sparse: sparse: symbol 'v3' has multiple initializers (originally initialized at lib/raid/xor/arm64/xor-eor3.c:122) lib/raid/xor/arm64/xor-eor3.c:138:17: sparse: sparse: symbol 'dp2' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:138:17: sparse: int [addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:106:18: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:106:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp2 lib/raid/xor/arm64/xor-eor3.c:139:17: sparse: sparse: symbol 'dp3' redeclared with different type (different base types): lib/raid/xor/arm64/xor-eor3.c:139:17: sparse: int [addressable] [toplevel] dp3 lib/raid/xor/arm64/xor-eor3.c:107:18: sparse: note: previously declared as: lib/raid/xor/arm64/xor-eor3.c:107:18: sparse: unsigned long long [usertype] *[addressable] [toplevel] dp3 vim +/return +19 lib/raid/xor/arm64/xor-eor3.c 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 8 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 9 extern void __xor_eor3_2(unsigned long bytes, unsigned long * __restrict p1, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 10 const unsigned long * __restrict p2); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 11 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 12 static inline uint64x2_t eor3(uint64x2_t p, uint64x2_t q, uint64x2_t r) 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 13 { 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 14 uint64x2_t res; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 15 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 16 asm(ARM64_ASM_PREAMBLE ".arch_extension sha3\n" 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 17 "eor3 %0.16b, %1.16b, %2.16b, %3.16b" 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 18 : "=w"(res) : "w"(p), "w"(q), "w"(r)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 @19 return res; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 20 } 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 21 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 22 static void __xor_eor3_3(unsigned long bytes, unsigned long * __restrict p1, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 23 const unsigned long * __restrict p2, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 24 const unsigned long * __restrict p3) 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 25 { 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 26 uint64_t *dp1 = (uint64_t *)p1; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 27 uint64_t *dp2 = (uint64_t *)p2; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 28 uint64_t *dp3 = (uint64_t *)p3; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 29 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 30 register uint64x2_t v0, v1, v2, v3; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 31 long lines = bytes / (sizeof(uint64x2_t) * 4); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 32 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 @33 do { 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 34 /* p1 ^= p2 ^ p3 */ 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 35 v0 = eor3(vld1q_u64(dp1 + 0), vld1q_u64(dp2 + 0), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 36 vld1q_u64(dp3 + 0)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 37 v1 = eor3(vld1q_u64(dp1 + 2), vld1q_u64(dp2 + 2), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 38 vld1q_u64(dp3 + 2)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 39 v2 = eor3(vld1q_u64(dp1 + 4), vld1q_u64(dp2 + 4), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 40 vld1q_u64(dp3 + 4)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 41 v3 = eor3(vld1q_u64(dp1 + 6), vld1q_u64(dp2 + 6), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 42 vld1q_u64(dp3 + 6)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 43 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 44 /* store */ 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 45 vst1q_u64(dp1 + 0, v0); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 46 vst1q_u64(dp1 + 2, v1); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 47 vst1q_u64(dp1 + 4, v2); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 48 vst1q_u64(dp1 + 6, v3); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 49 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 50 dp1 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 51 dp2 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 52 dp3 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 53 } while (--lines > 0); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 54 } 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 55 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 56 static void __xor_eor3_4(unsigned long bytes, unsigned long * __restrict p1, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 57 const unsigned long * __restrict p2, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 58 const unsigned long * __restrict p3, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 59 const unsigned long * __restrict p4) 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 60 { 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 61 uint64_t *dp1 = (uint64_t *)p1; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 62 uint64_t *dp2 = (uint64_t *)p2; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 63 uint64_t *dp3 = (uint64_t *)p3; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 64 uint64_t *dp4 = (uint64_t *)p4; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 65 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 66 register uint64x2_t v0, v1, v2, v3; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 67 long lines = bytes / (sizeof(uint64x2_t) * 4); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 68 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 69 do { 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 70 /* p1 ^= p2 ^ p3 */ 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 71 v0 = eor3(vld1q_u64(dp1 + 0), vld1q_u64(dp2 + 0), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 72 vld1q_u64(dp3 + 0)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 73 v1 = eor3(vld1q_u64(dp1 + 2), vld1q_u64(dp2 + 2), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 74 vld1q_u64(dp3 + 2)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 75 v2 = eor3(vld1q_u64(dp1 + 4), vld1q_u64(dp2 + 4), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 76 vld1q_u64(dp3 + 4)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 77 v3 = eor3(vld1q_u64(dp1 + 6), vld1q_u64(dp2 + 6), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 78 vld1q_u64(dp3 + 6)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 79 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 80 /* p1 ^= p4 */ 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 81 v0 = veorq_u64(v0, vld1q_u64(dp4 + 0)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 82 v1 = veorq_u64(v1, vld1q_u64(dp4 + 2)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 83 v2 = veorq_u64(v2, vld1q_u64(dp4 + 4)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 84 v3 = veorq_u64(v3, vld1q_u64(dp4 + 6)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 85 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 86 /* store */ 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 87 vst1q_u64(dp1 + 0, v0); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 88 vst1q_u64(dp1 + 2, v1); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 89 vst1q_u64(dp1 + 4, v2); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 90 vst1q_u64(dp1 + 6, v3); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 91 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 92 dp1 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 93 dp2 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 94 dp3 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 95 dp4 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 96 } while (--lines > 0); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 97 } 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 98 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 99 static void __xor_eor3_5(unsigned long bytes, unsigned long * __restrict p1, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 100 const unsigned long * __restrict p2, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 101 const unsigned long * __restrict p3, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 102 const unsigned long * __restrict p4, 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 103 const unsigned long * __restrict p5) 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 104 { 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 105 uint64_t *dp1 = (uint64_t *)p1; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 106 uint64_t *dp2 = (uint64_t *)p2; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 107 uint64_t *dp3 = (uint64_t *)p3; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 108 uint64_t *dp4 = (uint64_t *)p4; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 109 uint64_t *dp5 = (uint64_t *)p5; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 110 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 111 register uint64x2_t v0, v1, v2, v3; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 112 long lines = bytes / (sizeof(uint64x2_t) * 4); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 113 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 114 do { 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 115 /* p1 ^= p2 ^ p3 */ 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 116 v0 = eor3(vld1q_u64(dp1 + 0), vld1q_u64(dp2 + 0), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 117 vld1q_u64(dp3 + 0)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 118 v1 = eor3(vld1q_u64(dp1 + 2), vld1q_u64(dp2 + 2), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 119 vld1q_u64(dp3 + 2)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 120 v2 = eor3(vld1q_u64(dp1 + 4), vld1q_u64(dp2 + 4), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 121 vld1q_u64(dp3 + 4)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 122 v3 = eor3(vld1q_u64(dp1 + 6), vld1q_u64(dp2 + 6), 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 123 vld1q_u64(dp3 + 6)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 124 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 125 /* p1 ^= p4 ^ p5 */ 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 126 v0 = eor3(v0, vld1q_u64(dp4 + 0), vld1q_u64(dp5 + 0)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 127 v1 = eor3(v1, vld1q_u64(dp4 + 2), vld1q_u64(dp5 + 2)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 128 v2 = eor3(v2, vld1q_u64(dp4 + 4), vld1q_u64(dp5 + 4)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 129 v3 = eor3(v3, vld1q_u64(dp4 + 6), vld1q_u64(dp5 + 6)); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 130 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 131 /* store */ 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 132 vst1q_u64(dp1 + 0, v0); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 133 vst1q_u64(dp1 + 2, v1); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 134 vst1q_u64(dp1 + 4, v2); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 135 vst1q_u64(dp1 + 6, v3); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 136 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 137 dp1 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 138 dp2 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 139 dp3 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 140 dp4 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 141 dp5 += 8; 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 142 } while (--lines > 0); 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 143 } 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 144 4d3c5cbfe2b55c1 Ard Biesheuvel 2026-04-22 @145 __DO_XOR_BLOCKS(eor3_inner, __xor_eor3_2, __xor_eor3_3, __xor_eor3_4, -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki