From: Christoph Mallon Date: Fri, 15 Apr 2011 13:52:18 +0000 (+0200) Subject: Change use of rdtsc so it works with AMD64, too. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=db6ca138ca210ea9ac3ecd9b607aab6ec4c5c2eb;p=libfirm Change use of rdtsc so it works with AMD64, too. --- 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