diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-03-02 22:28:54 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-03-02 22:28:54 +0100 |
commit | 1534d4e4679d360c3d07af43ad4cceeca8d7280e (patch) | |
tree | 00410702e4e5d5e1e869a4ec2f5b7a196950e2b9 | |
parent | precomp: use asm cselect (diff) | |
download | kbench9000-1534d4e4679d360c3d07af43ad4cceeca8d7280e.tar.xz kbench9000-1534d4e4679d360c3d07af43ad4cceeca8d7280e.zip |
Pipeline flush with cpuid
-rw-r--r-- | main.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -28,8 +28,10 @@ static __always_inline int name(void) \ } #define do_it(name) do { \ + u32 eax = 0, ebx = 0, ecx = 0, edx = 0; \ for (i = 0; i < WARMUP; ++i) \ ret |= name(); \ + asm volatile("cpuid" : "+a" (eax), "=b" (ebx), "=d" (edx), "+c" (ecx)); \ start_ ## name = get_cycles(); \ for (i = 0; i < TRIALS; ++i) \ ret |= name(); \ |