#include <arm/arch.h>
#if defined _ARM_ARCH_7 && !defined VARIANT_DYLD
#include <stdlib.h>
#include <machine/cpu_capabilities.h>
#include <mach/machine.h>
#define MakeResolver(name) \
void * name ## Resolver(void) __asm__("_" #name); \
void * name ## Resolver(void) { \
__asm__(".symbol_resolver _" #name); \
switch (*(int *)_COMM_PAGE_CPUFAMILY) { \
case CPUFAMILY_ARM_13: return name ## $VARIANT$CortexA8; \
case CPUFAMILY_ARM_14: return name ## $VARIANT$CortexA9; \
default: return name ## $VARIANT$Swift; \
} \
}
void bzero$VARIANT$CortexA8(void *, size_t);
void bzero$VARIANT$CortexA9(void *, size_t);
void bzero$VARIANT$Swift(void *, size_t);
MakeResolver(bzero)
void __bzero$VARIANT$CortexA8(void *, size_t);
void __bzero$VARIANT$CortexA9(void *, size_t);
void __bzero$VARIANT$Swift(void *, size_t);
MakeResolver(__bzero)
void *memset$VARIANT$CortexA8(void *, int, size_t);
void *memset$VARIANT$CortexA9(void *, int, size_t);
void *memset$VARIANT$Swift(void *, int, size_t);
MakeResolver(memset)
void bcopy$VARIANT$CortexA8(const void *, void *, size_t);
void bcopy$VARIANT$CortexA9(const void *, void *, size_t);
void bcopy$VARIANT$Swift(const void *, void *, size_t);
MakeResolver(bcopy)
void *memmove$VARIANT$CortexA8(void *, const void *, size_t);
void *memmove$VARIANT$CortexA9(void *, const void *, size_t);
void *memmove$VARIANT$Swift(void *, const void *, size_t);
MakeResolver(memmove)
void *memcpy$VARIANT$CortexA8(void *, const void *, size_t);
void *memcpy$VARIANT$CortexA9(void *, const void *, size_t);
void *memcpy$VARIANT$Swift(void *, const void *, size_t);
MakeResolver(memcpy)
#define MakeResolver_Swift(name) \
void * name ## Resolver(void) __asm__("_" #name); \
void * name ## Resolver(void) { \
__asm__(".symbol_resolver _" #name); \
switch (*(int *)_COMM_PAGE_CPUFAMILY) { \
case CPUFAMILY_ARM_13: return name ## $VARIANT$Generic; \
case CPUFAMILY_ARM_14: return name ## $VARIANT$Generic; \
default: return name ## $VARIANT$Swift; \
} \
}
void memset_pattern4$VARIANT$Generic(void *b, const void *c4, size_t len);
void memset_pattern4$VARIANT$Swift(void *b, const void *c4, size_t len);
MakeResolver_Swift(memset_pattern4);
void memset_pattern8$VARIANT$Generic(void *b, const void *c8, size_t len);
void memset_pattern8$VARIANT$Swift(void *b, const void *c8, size_t len);
MakeResolver_Swift(memset_pattern8);
void memset_pattern16$VARIANT$Generic(void *b, const void *c16, size_t len);
void memset_pattern16$VARIANT$Swift(void *b, const void *c16, size_t len);
MakeResolver_Swift(memset_pattern16);
#else // defined _ARM_ARCH_7 && !defined VARIANT_DYLD
typedef int emptyFilesArentCFiles;
#endif // defined _ARM_ARCH_7 && !defined VARIANT_DYLD