1 /* Header for optimized implementations of memcpy() */ 2 3 #ifndef MEMCPY_H_ 4 #define MEMCPY_H_ 5 6 #ifdef __cplusplus 7 #include <cstring> 8 #define BEGIN_C_DECL extern "C" { 9 #define END_C_DECL } 10 #else 11 #include <string.h> 12 #define BEGIN_C_DECL 13 #define END_C_DECL 14 #endif 15 16 BEGIN_C_DECL 17 18 #if defined(WITH_X86_MMX) 19 20 #undef memcpy 21 #define memcpy(a, b, c) mmx_memcpy(a, b, c) 22 extern void mmx_memcpy(void *, void *, size_t); 23 24 #elif defined(WITH_X86_ASM) 25 26 #undef memcpy 27 #define memcpy(a, b, c) asm_memcpy(a, b, c) 28 extern void asm_memcpy(void *, void *, size_t); 29 30 #endif 31 32 END_C_DECL 33 34 #endif /* MEMCPY_H_ */ 35