5 #define WORK_COUNT 5000
7 static volatile uint64_t
sink;
9 __attribute__((noinline))
void s1(
volatile uint8_t* p, uint8_t v) { *p = v; }
10 __attribute__((noinline))
void s2(
volatile uint16_t* p, uint16_t v) { *p = v; }
11 __attribute__((noinline))
void s4(
volatile uint32_t* p, uint32_t v) { *p = v; }
12 __attribute__((noinline))
void s8(
volatile uint64_t* p, uint64_t v) { *p = v; }
14 int main(
int argc,
char** argv) {
15 (void)argc; (void)argv;
22 b1[i]=0xA; b2[i]=0xAAAA; b4[i]=0xAAAAAAAAu; b8[i]=0xAAAAAAAAAAAAAAAAull;
25 s1(&b1[i], 0x5A); s1(&b1[i], 0x5A);
26 s2(&b2[i], 0x1234); s2(&b2[i], 0x1234);
27 s4(&b4[i], 0xC0FFEEu); s4(&b4[i], 0xC0FFEEu);
28 s8(&b8[i], 0xDEADBEEFull); s8(&b8[i], 0xDEADBEEFull);
32 for (
int i = 0; i <
WORK_COUNT; ++i) s += (uint64_t)b1[i] + b2[i] + b4[i] + b8[i];
int main(int argc, char **argv)
__attribute__((noinline))
static volatile uint64_t sink