brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 91d56cb Raw
45 lines · c
1#ifndef LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H2#define LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H3 4#include "llvm/ADT/StringRef.h"5 6namespace llvm {7namespace libc_benchmarks {8 9/// Memory function prototype and configuration.10using MemcpyFunction = void *(*)(void *__restrict, const void *__restrict,11                                 size_t);12struct MemcpyConfiguration {13  MemcpyFunction Function;14  llvm::StringRef Name;15};16 17using MemmoveFunction = void *(*)(void *, const void *, size_t);18struct MemmoveConfiguration {19  MemmoveFunction Function;20  llvm::StringRef Name;21};22 23using MemsetFunction = void *(*)(void *, int, size_t);24struct MemsetConfiguration {25  MemsetFunction Function;26  llvm::StringRef Name;27};28 29using BzeroFunction = void (*)(void *, size_t);30struct BzeroConfiguration {31  BzeroFunction Function;32  llvm::StringRef Name;33};34 35using MemcmpOrBcmpFunction = int (*)(const void *, const void *, size_t);36struct MemcmpOrBcmpConfiguration {37  MemcmpOrBcmpFunction Function;38  llvm::StringRef Name;39};40 41} // namespace libc_benchmarks42} // namespace llvm43 44#endif /* LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H */45