| #include <string> | |
| void __attribute__((noinline)) memcpy_noinline(void *dst, void *src, size_t size) | |
| { | |
| memcpy(dst,src,size); | |
| } | |
| void __attribute__((noinline)) memset_noinline(void *dst, int value, size_t size) | |
| { | |
| memset(dst, value, size); | |
| } | |
| uint64_t __attribute__((noinline)) sum(volatile void *src, size_t size) | |
| { | |
| uint64_t *src_ptr = (uint64_t*)src; | |
| uint64_t sum = 0; | |
| size_t len = size / sizeof(uint64_t); | |
| for (size_t i = 0; i < len; i+=1) | |
| sum += src_ptr[i]; | |
| return sum; | |
| } |