[tip:x86/vdso 3/4] arch/x86/include/asm/arch_hweight.h:49:15: error: invalid input size for constraint 'D'

From: kernel test robot
Date: Tue Feb 07 2023 - 00:39:56 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/vdso
head: 5646bbd6684acf5c9b9dedb863b7d2f6f5a330fb
commit: 92d33063c081a82d25dd08a9cce03947c8ed9164 [3/4] x86/vdso: Provide getcpu for x86-32.
config: x86_64-randconfig-r031-20230206 (https://download.01.org/0day-ci/archive/20230207/202302071338.m7nBGR5i-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=92d33063c081a82d25dd08a9cce03947c8ed9164
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip x86/vdso
git checkout 92d33063c081a82d25dd08a9cce03947c8ed9164
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from arch/x86/entry/vdso/vdso32/vgetcpu.c:2:
In file included from arch/x86/entry/vdso/vdso32/../vgetcpu.c:8:
In file included from include/linux/kernel.h:22:
In file included from include/linux/bitops.h:68:
In file included from arch/x86/include/asm/bitops.h:420:
>> arch/x86/include/asm/arch_hweight.h:49:15: error: invalid input size for constraint 'D'
: REG_IN (w));
^
In file included from arch/x86/entry/vdso/vdso32/vgetcpu.c:2:
In file included from arch/x86/entry/vdso/vdso32/../vgetcpu.c:8:
In file included from include/linux/kernel.h:25:
In file included from include/linux/math.h:6:
>> arch/x86/include/asm/div64.h:85:34: error: invalid output size for constraint '=a'
asm ("mulq %2; divq %3" : "=a" (q)
^
In file included from arch/x86/entry/vdso/vdso32/vgetcpu.c:2:
arch/x86/entry/vdso/vdso32/../vgetcpu.c:13:1: warning: no previous prototype for function '__vdso_getcpu' [-Wmissing-prototypes]
__vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused)
^
arch/x86/entry/vdso/vdso32/../vgetcpu.c:12:9: note: declare 'static' if the function is not intended to be used outside of this translation unit
notrace long
^
static
1 warning and 2 errors generated.


vim +/D +49 arch/x86/include/asm/arch_hweight.h

d61931d89be506 Borislav Petkov 2010-03-05 35
d14edb1648221e Denys Vlasenko 2015-08-04 36 #ifdef CONFIG_X86_32
d61931d89be506 Borislav Petkov 2010-03-05 37 static inline unsigned long __arch_hweight64(__u64 w)
d61931d89be506 Borislav Petkov 2010-03-05 38 {
d61931d89be506 Borislav Petkov 2010-03-05 39 return __arch_hweight32((u32)w) +
d61931d89be506 Borislav Petkov 2010-03-05 40 __arch_hweight32((u32)(w >> 32));
d14edb1648221e Denys Vlasenko 2015-08-04 41 }
d61931d89be506 Borislav Petkov 2010-03-05 42 #else
d14edb1648221e Denys Vlasenko 2015-08-04 43 static __always_inline unsigned long __arch_hweight64(__u64 w)
d14edb1648221e Denys Vlasenko 2015-08-04 44 {
f5967101e9de12 Borislav Petkov 2016-05-30 45 unsigned long res;
d14edb1648221e Denys Vlasenko 2015-08-04 46
566b62a3676cae Uros Bizjak 2018-10-14 47 asm (ALTERNATIVE("call __sw_hweight64", "popcntq %1, %0", X86_FEATURE_POPCNT)
d61931d89be506 Borislav Petkov 2010-03-05 48 : "="REG_OUT (res)
d61931d89be506 Borislav Petkov 2010-03-05 @49 : REG_IN (w));
d61931d89be506 Borislav Petkov 2010-03-05 50
d61931d89be506 Borislav Petkov 2010-03-05 51 return res;
d61931d89be506 Borislav Petkov 2010-03-05 52 }
d14edb1648221e Denys Vlasenko 2015-08-04 53 #endif /* CONFIG_X86_32 */
d61931d89be506 Borislav Petkov 2010-03-05 54

:::::: The code at line 49 was first introduced by commit
:::::: d61931d89be506372d01a90d1755f6d0a9fafe2d x86: Add optimized popcnt variants

:::::: TO: Borislav Petkov <borislav.petkov@xxxxxxx>
:::::: CC: H. Peter Anvin <hpa@xxxxxxxxx>

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