tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/insn/rework-redo head: fee6ec16a43130611bdcfc71d4d1a2bb86bf2a13 commit: fee6ec16a43130611bdcfc71d4d1a2bb86bf2a13 [17/17] WIP: arm64: insn: move to reg helpers config: arm64-allyesconfig compiler: aarch64-linux-gcc (GCC) 12.1.0 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/mark/linux.git/commit/?id=fee6ec16a43130611bdcfc71d4d1a2bb86bf2a13 git remote add mark https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git git fetch --no-tags mark arm64/insn/rework-redo git checkout fee6ec16a43130611bdcfc71d4d1a2bb86bf2a13 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/arm64/lib/test_insn.c: In function 'test_insn_ldr_lit': >> arch/arm64/lib/test_insn.c:793:22: error: implicit declaration of function 'aarch64_insn_decode_register'; did you mean 'aarch64_insn_decode_reg_rt2'? [-Werror=implicit-function-declaration] 793 | u32 obj_rt = aarch64_insn_decode_register(AARCH64_INSN_REGTYPE_RT, obj_insn); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/test_insn.c:803:9: note: in expansion of macro 'TEST_LDR_LIT_CASE' 803 | TEST_LDR_LIT_CASE(test, "x0", AARCH64_INSN_REG_0, true, 0); | ^~~~~~~~~~~~~~~~~ >> arch/arm64/lib/test_insn.c:793:51: error: 'AARCH64_INSN_REGTYPE_RT' undeclared (first use in this function); did you mean 'AARCH64_INSN_PRFM_TYPE_PST'? 793 | u32 obj_rt = aarch64_insn_decode_register(AARCH64_INSN_REGTYPE_RT, obj_insn); \ | ^~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/test_insn.c:803:9: note: in expansion of macro 'TEST_LDR_LIT_CASE' 803 | TEST_LDR_LIT_CASE(test, "x0", AARCH64_INSN_REG_0, true, 0); | ^~~~~~~~~~~~~~~~~ arch/arm64/lib/test_insn.c:793:51: note: each undeclared identifier is reported only once for each function it appears in 793 | u32 obj_rt = aarch64_insn_decode_register(AARCH64_INSN_REGTYPE_RT, obj_insn); \ | ^~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/lib/test_insn.c:803:9: note: in expansion of macro 'TEST_LDR_LIT_CASE' 803 | TEST_LDR_LIT_CASE(test, "x0", AARCH64_INSN_REG_0, true, 0); | ^~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +793 arch/arm64/lib/test_insn.c 12373cc7d46722 Mark Rutland 2022-09-05 786 6143dad846ef8d Mark Rutland 2022-09-16 787 #define TEST_LDR_LIT_CASE(test, asm_rt, gen_rt, is64, _gen_offset) \ 6143dad846ef8d Mark Rutland 2022-09-16 788 do { \ 6143dad846ef8d Mark Rutland 2022-09-16 789 s64 gen_offset = 0UL + _gen_offset; \ 6143dad846ef8d Mark Rutland 2022-09-16 790 u32 gen_insn = aarch64_insn_gen_load_literal(0, gen_offset, gen_rt, is64); \ 6143dad846ef8d Mark Rutland 2022-09-16 791 u32 obj_insn = INSN_AS_U32("ldr " asm_rt ", . + %[offset]", \ 6143dad846ef8d Mark Rutland 2022-09-16 792 [offset] "i" (gen_offset)); \ 6143dad846ef8d Mark Rutland 2022-09-16 @793 u32 obj_rt = aarch64_insn_decode_register(AARCH64_INSN_REGTYPE_RT, obj_insn); \ 6143dad846ef8d Mark Rutland 2022-09-16 794 s64 obj_offset = aarch64_insn_decode_scaled_signed_imm19(obj_insn, 4); \ 6143dad846ef8d Mark Rutland 2022-09-16 795 INSN_EXPECT_IS(test, ldr_lit, obj_insn); \ 6143dad846ef8d Mark Rutland 2022-09-16 796 KUNIT_EXPECT_EQ(test, obj_rt, gen_rt); \ 6143dad846ef8d Mark Rutland 2022-09-16 797 KUNIT_EXPECT_EQ(test, obj_offset, gen_offset); \ 6143dad846ef8d Mark Rutland 2022-09-16 798 KUNIT_EXPECT_EQ(test, obj_insn, gen_insn); \ 6143dad846ef8d Mark Rutland 2022-09-16 799 } while (0) 6143dad846ef8d Mark Rutland 2022-09-16 800 :::::: The code at line 793 was first introduced by commit :::::: 6143dad846ef8dac377302dc079b7b2865825ece WIP: arm64: insn: rework ldr (literal) immediates :::::: TO: Mark Rutland :::::: CC: Mark Rutland -- 0-DAY CI Kernel Test Service https://01.org/lkp