45 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
| #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 MemmoveFunction = void *(*)(void *, const void *, size_t);
 | |
| struct MemmoveConfiguration {
 | |
|   MemmoveFunction 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 MemcmpOrBcmpFunction = int (*)(const void *, const void *, size_t);
 | |
| struct MemcmpOrBcmpConfiguration {
 | |
|   MemcmpOrBcmpFunction Function;
 | |
|   llvm::StringRef Name;
 | |
| };
 | |
| 
 | |
| } // namespace libc_benchmarks
 | |
| } // namespace llvm
 | |
| 
 | |
| #endif /* LLVM_LIBC_BENCHMARKS_LIBC_FUNCTION_PROTOTYPES_H */
 |