From db6ca138ca210ea9ac3ecd9b607aab6ec4c5c2eb Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Fri, 15 Apr 2011 15:52:18 +0200 Subject: [PATCH] Change use of rdtsc so it works with AMD64, too. --- ir/stat/stat_timing.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ir/stat/stat_timing.h b/ir/stat/stat_timing.h index 026248fdd..e29deb6dc 100644 --- a/ir/stat/stat_timing.h +++ b/ir/stat/stat_timing.h @@ -30,7 +30,13 @@ #if defined(__GNUC__) typedef unsigned long long timing_ticks_t; -static inline timing_ticks_t __timing_ticks(void) { timing_ticks_t result; __asm__ __volatile__ ("rdtsc" : "=A" (result)); return result; } +static inline timing_ticks_t __timing_ticks(void) +{ + unsigned h; + unsigned l; + __asm__ volatile("rdtsc" : "=a" (l), "=d" (h)); + return (timing_ticks_t)h << 32 | l; +} #elif defined(_MSC_VER) #include -- 2.20.1