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: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cc6238275a18c0530dfa5655d96428c0f1ac5650;p=pdns 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 b78a0e8eb..c65dee3b0 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) \