From: Bert Hubert Date: Mon, 17 Jan 2011 20:04:37 +0000 (+0000) Subject: alternate rdtsc() implementation X-Git-Tag: auth-3.0~358 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cc6238275a18c0530dfa5655d96428c0f1ac5650;p=thirdparty%2Fpdns.git alternate rdtsc() implementation git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1889 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/rdtsc.hh b/pdns/rdtsc.hh index b78a0e8eb7..c65dee3b01 100644 --- a/pdns/rdtsc.hh +++ b/pdns/rdtsc.hh @@ -1,6 +1,14 @@ #ifndef PDNS_RDTSC_HH #define PDNS_RDTSC_HH +#define rdtsc() \ +({ \ + unsigned long lowPart, highPart; \ + __asm__ __volatile__("cpuid"); \ + __asm__ __volatile__("rdtsc" : "=a" (lowPart), "=d" (highPart)); \ + ((((unsigned long long) highPart) << 32) | lowPart); \ +}) + #define RDTSC(qp) \