[PATCH v5] riscv: introduce asm/swab.h

kernel test robot lkp at intel.com
Fri Jul 18 09:26:55 PDT 2025


Hi Ignacio,

kernel test robot noticed the following build errors:

[auto build test ERROR on 155a3c003e555a7300d156a5252c004c392ec6b0]

url:    https://github.com/intel-lab-lkp/linux/commits/Ignacio-Encinas/riscv-introduce-asm-swab-h/20250718-024715
base:   155a3c003e555a7300d156a5252c004c392ec6b0
patch link:    https://lore.kernel.org/r/20250717-riscv-swab-v5-1-1d5bb7c42f38%40iencinas.com
patch subject: [PATCH v5] riscv: introduce asm/swab.h
config: riscv-allyesconfig (https://download.01.org/0day-ci/archive/20250719/202507190051.ejnrjSs3-lkp@intel.com/config)
compiler: clang version 16.0.6 (https://github.com/llvm/llvm-project 7cbf1a2591520c2491aa35339f227775f4d3adf6)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250719/202507190051.ejnrjSs3-lkp@intel.com/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
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507190051.ejnrjSs3-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from lib/decompress_unlzo.c:28:
   In file included from include/linux/decompress/mm.h:79:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:53:9: warning: unknown option, expected 'push', 'pop', 'rvc', 'norvc', 'relax' or 'norelax' [-Winline-asm]
           return ARCH_SWAB(16, value);
                  ^
   arch/riscv/include/asm/swab.h:40:11: note: expanded from macro 'ARCH_SWAB'
                                 ".option arch,+zbb\n"                     \
                                  ^
   <inline asm>:2:9: note: instantiated into assembly here
   .option arch,+zbb
           ^
   In file included from lib/decompress_unlzo.c:28:
   In file included from include/linux/decompress/mm.h:79:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
>> arch/riscv/include/asm/swab.h:53:9: error: instruction requires the following: 'Zbb' (Basic Bit-Manipulation) or 'Zbkb' (Bitmanip instructions for Cryptography)
           return ARCH_SWAB(16, value);
                  ^
   arch/riscv/include/asm/swab.h:41:11: note: expanded from macro 'ARCH_SWAB'
                                 "rev8 %0, %1\n"                           \
                                  ^
   <inline asm>:3:1: note: instantiated into assembly here
   rev8 a0, s1
   ^
   In file included from lib/decompress_unlzo.c:28:
   In file included from include/linux/decompress/mm.h:79:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:58:9: warning: unknown option, expected 'push', 'pop', 'rvc', 'norvc', 'relax' or 'norelax' [-Winline-asm]
           return ARCH_SWAB(32, value);
                  ^
   arch/riscv/include/asm/swab.h:40:11: note: expanded from macro 'ARCH_SWAB'
                                 ".option arch,+zbb\n"                     \
                                  ^
   <inline asm>:2:9: note: instantiated into assembly here
   .option arch,+zbb
           ^
   In file included from lib/decompress_unlzo.c:28:
   In file included from include/linux/decompress/mm.h:79:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:58:9: error: instruction requires the following: 'Zbb' (Basic Bit-Manipulation) or 'Zbkb' (Bitmanip instructions for Cryptography)
           return ARCH_SWAB(32, value);
                  ^
   arch/riscv/include/asm/swab.h:41:11: note: expanded from macro 'ARCH_SWAB'
                                 "rev8 %0, %1\n"                           \
                                  ^
   <inline asm>:3:1: note: instantiated into assembly here
   rev8 a0, s1
   ^
   In file included from lib/decompress_unlzo.c:28:
   In file included from include/linux/decompress/mm.h:79:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:58:9: warning: unknown option, expected 'push', 'pop', 'rvc', 'norvc', 'relax' or 'norelax' [-Winline-asm]
           return ARCH_SWAB(32, value);
                  ^
   arch/riscv/include/asm/swab.h:40:11: note: expanded from macro 'ARCH_SWAB'
                                 ".option arch,+zbb\n"                     \
                                  ^
   <inline asm>:2:9: note: instantiated into assembly here
   .option arch,+zbb
           ^
   In file included from lib/decompress_unlzo.c:28:
   In file included from include/linux/decompress/mm.h:79:
--
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:58:9: warning: unknown option, expected 'push', 'pop', 'rvc', 'norvc', 'relax' or 'norelax' [-Winline-asm]
           return ARCH_SWAB(32, value);
                  ^
   arch/riscv/include/asm/swab.h:40:11: note: expanded from macro 'ARCH_SWAB'
                                 ".option arch,+zbb\n"                     \
                                  ^
   <inline asm>:2:9: note: instantiated into assembly here
   .option arch,+zbb
           ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:58:9: error: instruction requires the following: 'Zbb' (Basic Bit-Manipulation) or 'Zbkb' (Bitmanip instructions for Cryptography)
           return ARCH_SWAB(32, value);
                  ^
   arch/riscv/include/asm/swab.h:41:11: note: expanded from macro 'ARCH_SWAB'
                                 "rev8 %0, %1\n"                           \
                                  ^
   <inline asm>:3:1: note: instantiated into assembly here
   rev8 a0, s7
   ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:53:9: warning: unknown option, expected 'push', 'pop', 'rvc', 'norvc', 'relax' or 'norelax' [-Winline-asm]
           return ARCH_SWAB(16, value);
                  ^
   arch/riscv/include/asm/swab.h:40:11: note: expanded from macro 'ARCH_SWAB'
                                 ".option arch,+zbb\n"                     \
                                  ^
   <inline asm>:2:9: note: instantiated into assembly here
   .option arch,+zbb
           ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
>> arch/riscv/include/asm/swab.h:53:9: error: instruction requires the following: 'Zbb' (Basic Bit-Manipulation) or 'Zbkb' (Bitmanip instructions for Cryptography)
           return ARCH_SWAB(16, value);
                  ^
   arch/riscv/include/asm/swab.h:41:11: note: expanded from macro 'ARCH_SWAB'
                                 "rev8 %0, %1\n"                           \
                                  ^
   <inline asm>:3:1: note: instantiated into assembly here
   rev8 a0, s2
   ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:53:9: warning: unknown option, expected 'push', 'pop', 'rvc', 'norvc', 'relax' or 'norelax' [-Winline-asm]
           return ARCH_SWAB(16, value);
                  ^
   arch/riscv/include/asm/swab.h:40:11: note: expanded from macro 'ARCH_SWAB'
                                 ".option arch,+zbb\n"                     \
                                  ^
   <inline asm>:2:9: note: instantiated into assembly here
   .option arch,+zbb
           ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
>> arch/riscv/include/asm/swab.h:53:9: error: instruction requires the following: 'Zbb' (Basic Bit-Manipulation) or 'Zbkb' (Bitmanip instructions for Cryptography)
           return ARCH_SWAB(16, value);
                  ^
   arch/riscv/include/asm/swab.h:41:11: note: expanded from macro 'ARCH_SWAB'
                                 "rev8 %0, %1\n"                           \
                                  ^
   <inline asm>:3:1: note: instantiated into assembly here
   rev8 a0, s2
   ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:58:9: warning: unknown option, expected 'push', 'pop', 'rvc', 'norvc', 'relax' or 'norelax' [-Winline-asm]
           return ARCH_SWAB(32, value);
                  ^
   arch/riscv/include/asm/swab.h:40:11: note: expanded from macro 'ARCH_SWAB'
                                 ".option arch,+zbb\n"                     \
                                  ^
   <inline asm>:2:9: note: instantiated into assembly here
   .option arch,+zbb
           ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:58:9: error: instruction requires the following: 'Zbb' (Basic Bit-Manipulation) or 'Zbkb' (Bitmanip instructions for Cryptography)
           return ARCH_SWAB(32, value);
                  ^
   arch/riscv/include/asm/swab.h:41:11: note: expanded from macro 'ARCH_SWAB'
                                 "rev8 %0, %1\n"                           \
                                  ^
   <inline asm>:3:1: note: instantiated into assembly here
   rev8 a0, s1
   ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
   arch/riscv/include/asm/swab.h:53:9: warning: unknown option, expected 'push', 'pop', 'rvc', 'norvc', 'relax' or 'norelax' [-Winline-asm]
           return ARCH_SWAB(16, value);
                  ^
   arch/riscv/include/asm/swab.h:40:11: note: expanded from macro 'ARCH_SWAB'
                                 ".option arch,+zbb\n"                     \
                                  ^
   <inline asm>:2:9: note: instantiated into assembly here
   .option arch,+zbb
           ^
   In file included from lib/vsprintf.c:22:
   In file included from include/linux/clk.h:13:
   In file included from include/linux/kernel.h:23:
   In file included from include/linux/bitops.h:28:
   In file included from include/asm-generic/bitops/generic-non-atomic.h:7:
   In file included from arch/riscv/include/asm/barrier.h:14:
   In file included from arch/riscv/include/asm/cmpxchg.h:9:
   In file included from include/linux/bug.h:5:
   In file included from arch/riscv/include/asm/bug.h:83:
   In file included from include/asm-generic/bug.h:22:
   In file included from include/linux/printk.h:9:
   In file included from include/linux/ratelimit_types.h:7:
   In file included from include/linux/spinlock_types_raw.h:7:
   In file included from ./arch/riscv/include/generated/asm/spinlock_types.h:1:
   In file included from include/asm-generic/spinlock_types.h:7:
   In file included from include/asm-generic/qrwlock_types.h:6:
   In file included from arch/riscv/include/uapi/asm/byteorder.h:10:
   In file included from include/linux/byteorder/little_endian.h:5:
   In file included from include/uapi/linux/byteorder/little_endian.h:14:
   In file included from include/linux/swab.h:5:
   In file included from include/uapi/linux/swab.h:8:
>> arch/riscv/include/asm/swab.h:53:9: error: instruction requires the following: 'Zbb' (Basic Bit-Manipulation) or 'Zbkb' (Bitmanip instructions for Cryptography)
           return ARCH_SWAB(16, value);
                  ^
   arch/riscv/include/asm/swab.h:41:11: note: expanded from macro 'ARCH_SWAB'
                                 "rev8 %0, %1\n"                           \
                                  ^
   <inline asm>:3:1: note: instantiated into assembly here
   rev8 s1, s1
   ^
   7 warnings and 7 errors generated.
..


vim +53 arch/riscv/include/asm/swab.h

    50	
    51	static __always_inline __u16 __arch_swab16(__u16 value)
    52	{
  > 53		return ARCH_SWAB(16, value);
    54	}
    55	

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



More information about the linux-riscv mailing list