2021-09-30 21:10:45 +08:00
|
|
|
#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;
|
|
|
|
};
|
|
|
|
|
2021-11-30 18:46:16 +08:00
|
|
|
using MemmoveFunction = void *(*)(void *, const void *, size_t);
|
|
|
|
struct MemmoveConfiguration {
|
|
|
|
MemmoveFunction Function;
|
|
|
|
llvm::StringRef Name;
|
|
|
|
};
|
|
|
|
|
2021-09-30 21:10:45 +08:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2021-10-15 17:26:12 +08:00
|
|
|
using MemcmpOrBcmpFunction = int (*)(const void *, const void *, size_t);
|
|
|
|
struct MemcmpOrBcmpConfiguration {
|
|
|
|
MemcmpOrBcmpFunction Function;
|
2021-09-30 21:10:45 +08:00
|
|
|
llvm::StringRef Name;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace libc_benchmarks
|
|
|
|
} // namespace llvm
|
|
|
|
|
|
|
|
#endif /* LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H */
|