tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   5abc7438f1e9d62e91ad775cc83c9594c48d2282
commit: f122668ddcce450c2585f0be4bf4478d6fd6176b ARC: Add eBPF JIT support
date:   1 year, 1 month ago
config: arc-randconfig-2005-20250604 
(https://download.01.org/0day-ci/archive/20250604/202506041921.lfermu6q-...@intel.com/config)
compiler: arc-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20250604/202506041921.lfermu6q-...@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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202506041921.lfermu6q-...@intel.com/

All errors (new ones prefixed by >>):

   arch/arc/net/bpf_jit_arcv2.c: In function 'gen_swap':
>> arch/arc/net/bpf_jit_arcv2.c:2236:3: error: label at end of compound 
>> statement
      default:
      ^~~~~~~
   arch/arc/net/bpf_jit_arcv2.c:2254:3: error: label at end of compound 
statement
      default:
      ^~~~~~~
   arch/arc/net/bpf_jit_arcv2.c: In function 'gen_jmp_64':
   arch/arc/net/bpf_jit_arcv2.c:2867:2: error: label at end of compound 
statement
     default:
     ^~~~~~~
--
   {standard input}: Assembler messages:
>> {standard input}:32583: Error: flag mismatch for instruction 'mpyd'


vim +2236 arch/arc/net/bpf_jit_arcv2.c

  2199  
  2200  u8 gen_swap(u8 *buf, u8 rd, u8 size, u8 endian, bool force, bool 
do_zext)
  2201  {
  2202          u8 len = 0;
  2203  #ifdef __BIG_ENDIAN
  2204          const u8 host_endian = BPF_FROM_BE;
  2205  #else
  2206          const u8 host_endian = BPF_FROM_LE;
  2207  #endif
  2208          if (host_endian != endian || force) {
  2209                  switch (size) {
  2210                  case 16:
  2211                          /*
  2212                           * r = B4B3_B2B1 << 16 --> r = B2B1_0000
  2213                           * then, swape(r) would become the desired 
0000_B1B2
  2214                           */
  2215                          len = arc_asli_r(buf, REG_LO(rd), REG_LO(rd), 
16);
  2216                          fallthrough;
  2217                  case 32:
  2218                          len += arc_swape_r(BUF(buf, len), REG_LO(rd));
  2219                          if (do_zext)
  2220                                  len += zext(BUF(buf, len), rd);
  2221                          break;
  2222                  case 64:
  2223                          /*
  2224                           * swap "hi" and "lo":
  2225                           *   hi ^= lo;
  2226                           *   lo ^= hi;
  2227                           *   hi ^= lo;
  2228                           * and then swap the bytes in "hi" and "lo".
  2229                           */
  2230                          len  = arc_xor_r(buf, REG_HI(rd), REG_LO(rd));
  2231                          len += arc_xor_r(BUF(buf, len), REG_LO(rd), 
REG_HI(rd));
  2232                          len += arc_xor_r(BUF(buf, len), REG_HI(rd), 
REG_LO(rd));
  2233                          len += arc_swape_r(BUF(buf, len), REG_LO(rd));
  2234                          len += arc_swape_r(BUF(buf, len), REG_HI(rd));
  2235                          break;
> 2236                  default:
  2237                          /* The caller must have handled this. */
  2238                  }
  2239          } else {
  2240                  /*
  2241                   * If the same endianness, there's not much to do other
  2242                   * than zeroing out the upper bytes based on the "size".
  2243                   */
  2244                  switch (size) {
  2245                  case 16:
  2246                          len = arc_and_i(buf, REG_LO(rd), 0xffff);
  2247                          fallthrough;
  2248                  case 32:
  2249                          if (do_zext)
  2250                                  len += zext(BUF(buf, len), rd);
  2251                          break;
  2252                  case 64:
  2253                          break;
  2254                  default:
  2255                          /* The caller must have handled this. */
  2256                  }
  2257          }
  2258  
  2259          return len;
  2260  }
  2261  

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

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

Reply via email to