# HG changeset patch # User zuxy # Date 1267272634 0 # Node ID 313cc6c3fddbca17ab27e857d5c708c40c255669 # Parent 9dc765bfa063d696e8044ce52763237ddcd78e16 Replace =A with =a and =d; make frequency calculation correct under x86-64 diff -r 9dc765bfa063 -r 313cc6c3fddb cpuinfo.c --- a/cpuinfo.c Sat Feb 27 11:32:48 2010 +0000 +++ b/cpuinfo.c Sat Feb 27 12:10:34 2010 +0000 @@ -77,10 +77,10 @@ static int64_t rdtsc(void) { - uint64_t i; + uint64_t hi, lo; #define RDTSC ".byte 0x0f, 0x31; " - __asm__ volatile (RDTSC : "=A"(i) : ); - return i; + __asm__ volatile (RDTSC : "=a"(lo), "=d"(hi) : ); + return hi << 32 | lo; } static const char*