blob: e856c9138157e9398d1a09da129e914b92d743b7 [file] [log] [blame]
#ifndef LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H
#define LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H
#include "llvm/ADT/StringRef.h"
namespace llvm {
namespace libc_benchmarks {
/// Memory function prototype and configuration.
using MemcpyFunction = void *(*)(void *__restrict, const void *__restrict,
size_t);
struct MemcpyConfiguration {
MemcpyFunction Function;
llvm::StringRef Name;
};
using MemsetFunction = void *(*)(void *, int, size_t);
struct MemsetConfiguration {
MemsetFunction Function;
llvm::StringRef Name;
};
using BzeroFunction = void (*)(void *, size_t);
struct BzeroConfiguration {
BzeroFunction Function;
llvm::StringRef Name;
};
using MemcmpFunction = int (*)(const void *, const void *, size_t);
struct MemcmpConfiguration {
MemcmpFunction Function;
llvm::StringRef Name;
};
} // namespace libc_benchmarks
} // namespace llvm
#endif /* LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H */