message: Ruy: Ensure that a couple of classes defined (empty) for non-x86 and non-ARM.
diff: @@ -222,11 +222,13 @@ RUY_INHERIT_KERNEL(Path::kStandardCpp, Path::kAvx2)
  RUY_INHERIT_KERNEL(Path::kAvx2, Path::kAvx512)
  #endif
  -// KernelParams are shared across 32-bit and 64-bit NEON code, and x86 AVX-512
  -// code.
  -#if (RUY_PLATFORM(NEON_64) || RUY_PLATFORM(NEON_32) || RUY_PLATFORM(AVX2) || \
  - RUY_PLATFORM(AVX512)) && \
  - RUY_OPT_ENABLED(RUY_OPT_ASM)
  +// KernelParams are shared across 32-bit and 64-bit NEON code, and x86 code.
  +//
  +// In other cases, we still define (empty) versions, so that dummy kernels
  +// can use the classes in function signatures.
  +#if ((RUY_PLATFORM(NEON_64) || RUY_PLATFORM(NEON_32)) && \
  + RUY_OPT_ENABLED(RUY_OPT_ASM)) || \
  + RUY_PLATFORM(X86)
  #define RUY_ASM_FLAG_HAS_BIAS 0x1
  #define RUY_ASM_FLAG_HAS_LHS_SUMS 0x2
  @@ -439,9 +441,17 @@ inline void MakeKernelParamsFloat(const PackedMatrix<float>& lhs,
  RUY_DCHECK_LT(params->last_col, params->dst_cols);
  }
  -#endif // (RUY_PLATFORM(NEON_64) || RUY_PLATFORM(NEON_32) || RUY_PLATFORM(AVX2)
  - // || RUY_PLATFORM(AVX512)) &&
  - // RUY_OPT_ENABLED(RUY_OPT_ASM)
  +#else // ((RUY_PLATFORM(NEON_64) || RUY_PLATFORM(NEON_32)) &&
  + // RUY_OPT_ENABLED(RUY_OPT_ASM)) || RUY_PLATFORM(X86)
  +
  +template <int LhsCols, int RhsCols>
  +struct KernelParams8bit {};
  +
  +template <int LhsCols, int RhsCols>
  +struct KernelParamsFloat {};
  +
  +#endif // ((RUY_PLATFORM(NEON_64) || RUY_PLATFORM(NEON_32)) &&
  + // RUY_OPT_ENABLED(RUY_OPT_ASM)) || RUY_PLATFORM(X86)
  } // namespace ruy
  