From 855b0a692b03555b58aea80e95bca9ec3cfca779 Mon Sep 17 00:00:00 2001 From: Mooneer Salem Date: Fri, 9 Dec 2022 21:48:41 -0800 Subject: [PATCH] Suppress aarch64 specific code for non-aarch64 builds. --- src/vec_neon.h | 215 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) diff --git a/src/vec_neon.h b/src/vec_neon.h index 8a80b29..9c40000 100644 --- a/src/vec_neon.h +++ b/src/vec_neon.h @@ -276,6 +276,8 @@ static inline void sparse_sgemv_accum16(float *out, const float *w, int rows, co #define MAX_INPUTS 2048 #define MAX_OUTPUTS 8192 +#if __aarch64__ + #if __ARM_FEATURE_DOTPROD static inline int32x4_t vdotprod(int32x4_t acc, int8x16_t a, int8x16_t b) { return vdotq_s32(acc, a, b); @@ -361,3 +363,216 @@ static inline void sparse_sgemv_accum8x4(float *_out, const qweight *w, int rows vst1q_f32(&_out[i+4], vmulq_f32(scale_1, vcvtq_f32_s32(acc1))); } } + +#else + +#ifdef DOT_PROD + +#define SCALE (128.f*127.f) +#define SCALE_1 (1.f/128.f/127.f) + + +#ifdef USE_SU_BIAS + +static inline void sgemv_accum8x4(float *out, const qweight *w, int rows, int cols, int col_stride, const float *_x) +{ + int i, j; + unsigned char x[MAX_INPUTS]; + (void)col_stride; + for (i=0;i