blob: 9c992fac16fbb1f3bb79a4f862484a9c842dc033 [file] [log] [blame]
Riley Andrewsd7822e62015-08-17 16:42:26 -07001#include <string>
2
3void __attribute__((noinline)) memcpy_noinline(void *dst, void *src, size_t size)
4{
5 memcpy(dst,src,size);
6}
7
8void __attribute__((noinline)) memset_noinline(void *dst, int value, size_t size)
9{
10 memset(dst, value, size);
11}
12
13uint64_t __attribute__((noinline)) sum(volatile void *src, size_t size)
14{
15 uint64_t *src_ptr = (uint64_t*)src;
16 uint64_t sum = 0;
17 size_t len = size / sizeof(uint64_t);
18 for (size_t i = 0; i < len; i+=1)
19 sum += src_ptr[i];
20 return sum;
21}