brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 1ff940a Raw
55 lines · cpp
1#include "LibcFunctionPrototypes.h"2#include "src/__support/macros/config.h"3#include "llvm/ADT/ArrayRef.h"4#include <cstddef>5 6namespace LIBC_NAMESPACE_DECL {7 8extern void *memcpy(void *__restrict, const void *__restrict, size_t);9extern void *memmove(void *, const void *, size_t);10extern void *memset(void *, int, size_t);11extern void bzero(void *, size_t);12extern int memcmp(const void *, const void *, size_t);13extern int bcmp(const void *, const void *, size_t);14 15} // namespace LIBC_NAMESPACE_DECL16 17// List of implementations to test.18 19using llvm::libc_benchmarks::BzeroConfiguration;20using llvm::libc_benchmarks::MemcmpOrBcmpConfiguration;21using llvm::libc_benchmarks::MemcpyConfiguration;22using llvm::libc_benchmarks::MemmoveConfiguration;23using llvm::libc_benchmarks::MemsetConfiguration;24 25llvm::ArrayRef<MemcpyConfiguration> getMemcpyConfigurations() {26  static constexpr MemcpyConfiguration kMemcpyConfigurations[] = {27      {LIBC_NAMESPACE::memcpy, "LIBC_NAMESPACE::memcpy"}};28  return llvm::ArrayRef(kMemcpyConfigurations);29}30llvm::ArrayRef<MemmoveConfiguration> getMemmoveConfigurations() {31  static constexpr MemmoveConfiguration kMemmoveConfigurations[] = {32      {LIBC_NAMESPACE::memmove, "LIBC_NAMESPACE::memmove"}};33  return llvm::ArrayRef(kMemmoveConfigurations);34}35llvm::ArrayRef<MemcmpOrBcmpConfiguration> getMemcmpConfigurations() {36  static constexpr MemcmpOrBcmpConfiguration kMemcmpConfiguration[] = {37      {LIBC_NAMESPACE::memcmp, "LIBC_NAMESPACE::memcmp"}};38  return llvm::ArrayRef(kMemcmpConfiguration);39}40llvm::ArrayRef<MemcmpOrBcmpConfiguration> getBcmpConfigurations() {41  static constexpr MemcmpOrBcmpConfiguration kBcmpConfigurations[] = {42      {LIBC_NAMESPACE::bcmp, "LIBC_NAMESPACE::bcmp"}};43  return llvm::ArrayRef(kBcmpConfigurations);44}45llvm::ArrayRef<MemsetConfiguration> getMemsetConfigurations() {46  static constexpr MemsetConfiguration kMemsetConfigurations[] = {47      {LIBC_NAMESPACE::memset, "LIBC_NAMESPACE::memset"}};48  return llvm::ArrayRef(kMemsetConfigurations);49}50llvm::ArrayRef<BzeroConfiguration> getBzeroConfigurations() {51  static constexpr BzeroConfiguration kBzeroConfigurations[] = {52      {LIBC_NAMESPACE::bzero, "LIBC_NAMESPACE::bzero"}};53  return llvm::ArrayRef(kBzeroConfigurations);54}55