1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
// Project: Salis
// Author: Paul Oliver
// Email: contact@pauloliver.dev
/*
* Simple benchmark test helps measure simulation speed by stepping the
* simulator N times and printing results.
*/
#if ACTION != ACT_BENCH
#error Using bench UI with unsupported action
#endif
int main() {
printf("Salis Benchmark Test\n\n");
salis_init("", SEED);
salis_step(BENCH_STEPS);
printf("seed => %#lx\n", SEED);
printf("g_steps => %#lx\n", g_steps);
printf("g_syncs => %#lx\n", g_syncs);
for (int i = 0; i < CORE_COUNT; ++i) {
putchar('\n');
printf("core %d mall => %#lx\n", i, g_cores[i].mall);
printf("core %d mut0 => %#lx\n", i, g_cores[i].muta[0]);
printf("core %d mut1 => %#lx\n", i, g_cores[i].muta[1]);
printf("core %d mut2 => %#lx\n", i, g_cores[i].muta[2]);
printf("core %d mut3 => %#lx\n", i, g_cores[i].muta[3]);
printf("core %d pnum => %#lx\n", i, g_cores[i].pnum);
printf("core %d pcap => %#lx\n", i, g_cores[i].pcap);
printf("core %d pfst => %#lx\n", i, g_cores[i].pfst);
printf("core %d plst => %#lx\n", i, g_cores[i].plst);
printf("core %d pcur => %#lx\n", i, g_cores[i].pcur);
printf("core %d psli => %#lx\n", i, g_cores[i].psli);
printf("core %d ncyc => %#lx\n", i, g_cores[i].ncyc);
printf("core %d ivpt => %#lx\n", i, g_cores[i].ivpt);
putchar('\n');
for (int j = 0; j < 32; ++j) {
printf("%02x ", g_cores[i].mvec[j]);
}
putchar('\n');
}
salis_free();
}
|