diff --git a/hermit/usr/ircce/rte_memcpy.h b/hermit/usr/ircce/rte_memcpy.h index d7cf2831d..61b8110a7 100644 --- a/hermit/usr/ircce/rte_memcpy.h +++ b/hermit/usr/ircce/rte_memcpy.h @@ -50,6 +50,11 @@ #define RTE_MACHINE_CPUFLAG_AVX2 #endif +// gcc defines this macro, if avx is enabled +#ifdef __AVX__ +#define RTE_MACHINE_CPUFLAG_AVX +#endif + #ifdef __cplusplus extern "C" { #endif @@ -314,7 +319,7 @@ COPY_BLOCK_64_BACK31: goto COPY_BLOCK_64_BACK31; } -#else /* RTE_MACHINE_CPUFLAG_AVX2 */ +#elif defined(RTE_MACHINE_CPUFLAG_AVX) /** * SSE & AVX implementation below @@ -631,7 +636,14 @@ COPY_BLOCK_64_BACK15: goto COPY_BLOCK_64_BACK15; } -#endif /* RTE_MACHINE_CPUFLAG_AVX2 */ +#else + +static inline void * rte_memcpy(void *dst, const void *src, size_t n) +{ + return __builtin_memcpy(dst, src, n); +} + +#endif #ifdef __cplusplus }