Hi Milan,

kernel test robot noticed the following build errors:

[auto build test ERROR on kees/for-next/hardening]
[also build test ERROR on next-20260519]
[cannot apply to linus/master v6.16-rc1]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Milan-Tripkovic/riscv-lib-add-memcmp-implementation/20260519-221028
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git 
for-next/hardening
patch link:    
https://lore.kernel.org/r/20260519140029.1190381-3-milant2002%40gmail.com
patch subject: [PATCH v5 2/2] lib/string_kunit: extend benchmarks and unit test 
to memcmp()
config: riscv-allnoconfig-bpf 
(https://download.01.org/0day-ci/archive/20260520/[email protected]/config)
compiler: riscv64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20260520/[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
| Reported-by: kernel test robot <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   arch/riscv/lib/memcmp.S: Assembler messages:
>> arch/riscv/lib/memcmp.S:58: Error: unrecognized opcode `rev8 t1,t1', 
>> extension `zbb' or `zbkb' required
>> arch/riscv/lib/memcmp.S:59: Error: unrecognized opcode `rev8 t2,t2', 
>> extension `zbb' or `zbkb' required
   arch/riscv/lib/memcmp.S:85: Error: unrecognized opcode `rev8 t1,t1', 
extension `zbb' or `zbkb' required
   arch/riscv/lib/memcmp.S:86: Error: unrecognized opcode `rev8 t2,t2', 
extension `zbb' or `zbkb' required


vim +58 arch/riscv/lib/memcmp.S

    12  
    13  /* int memcmp(const void *cs, const void *ct, size_t n) */
    14  SYM_FUNC_START(memcmp)
    15  /*
    16   * Parameters
    17   *      a0 - Pointer to first memory block (cs), also return value
    18   *      a1 - Pointer to second memory block (ct)
    19   *      a2 - Number of bytes to compare (n), decremented during loop
    20   *
    21   * Returns
    22   *      a0 - 0 if equal, positive if cs > ct, negative if cs < ct
    23   *
    24   * Clobbers
    25   *      t0, t1, t2, t3, t4
    26   */
    27          add     t3, a0, a2
    28          or      t0, a0, a1
    29          andi    t0, t0, (SZREG - 1)
    30          bnez    t0, 5f
    31  
    32          addi    t4, t3, -SZREG
    33          bltu    t4, a0, 7f
    34  
    35  1:
    36          REG_L   t1, 0(a0)
    37          REG_L   t2, 0(a1)
    38          bne     t1, t2, 2f
    39          addi    a0, a0, SZREG
    40          addi    a1, a1, SZREG
    41          bleu    a0, t4, 1b
    42  
    43  #if defined(CONFIG_TOOLCHAIN_HAS_ZBB)
    44  7:
    45          __ALTERNATIVE_CFG("j 5f", "nop", 0, RISCV_ISA_EXT_ZBB,
    46                            IS_ENABLED(CONFIG_RISCV_ISA_ZBB))
    47  
    48          beq     a0, t3, 4f
    49          REG_L   t1, 0(a0)
    50          REG_L   t2, 0(a1)
    51  
    52          sub     t0, t3, a0
    53          li      t4, SZREG
    54          sub     t0, t4, t0
    55          slli    t0, t0, 3
    56  
    57  #ifndef CONFIG_CPU_BIG_ENDIAN
  > 58          rev8    t1, t1
  > 59          rev8    t2, t2
    60  #endif
    61          srl     t1, t1, t0
    62          srl     t2, t2, t0
    63  
    64          bne     t1, t2, 8f
    65          li      a0, 0
    66          ret
    67  #else
    68          j       5f
    69  #endif
    70  5:
    71          beq     a0, t3, 4f
    72  6:
    73          lbu     t1, 0(a0)
    74          lbu     t2, 0(a1)
    75          bne     t1, t2, 3f
    76          addi    a0, a0, 1
    77          addi    a1, a1, 1
    78          bne     a0, t3, 6b
    79  

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

Reply via email to