diff --git a/nanors/deps/obl/oblas_lite.c b/nanors/deps/obl/oblas_lite.c index bd1c47e..64cc8d8 100644 --- a/nanors/deps/obl/oblas_lite.c +++ b/nanors/deps/obl/oblas_lite.c @@ -172,7 +172,7 @@ void obl_axpyb32_ref(u8 *a, u32 *b, u8 u, unsigned k) } \ } while (0) -#else +#elif defined(OBLAS_SSE3) || !(defined(__x86_64__) || defined(__i386__) || defined(_M_IX86) || defined(_M_AMD64)) #if defined(OBLAS_SSE3) #include @@ -230,6 +230,23 @@ void obl_axpyb32_ref(u8 *a, u32 *b, u8 u, unsigned k) _mm_storeu_si128(ap, _mm_xor_si128(_mm_loadu_si128(ap), ret_hi)); \ } \ } while (0) +#else + +#undef OBLAS_ALIGN +#define OBLAS_ALIGN (sizeof(void *)) + +#undef OBL_SHUF +#define OBL_SHUF(op, a, b, f) \ + do { \ + op##_ref(a, b, u, k); \ + } while (0) + +#undef OBL_SHUF_XOR +#define OBL_SHUF_XOR + +#undef OBL_AXPYB32 +#define OBL_AXPYB32 obl_axpyb32_ref + #endif #define OBL_NOOP(a, b) (b)