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