aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-03-02 22:28:54 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2018-03-02 22:28:54 +0100
commit1534d4e4679d360c3d07af43ad4cceeca8d7280e (patch)
tree00410702e4e5d5e1e869a4ec2f5b7a196950e2b9
parentprecomp: use asm cselect (diff)
downloadkbench9000-1534d4e4679d360c3d07af43ad4cceeca8d7280e.tar.xz
kbench9000-1534d4e4679d360c3d07af43ad4cceeca8d7280e.zip
Pipeline flush with cpuid
-rw-r--r--main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/main.c b/main.c
index 553639a..e9ff95e 100644
--- a/main.c
+++ b/main.c
@@ -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(); \