[MN-dev] [mndiff]: r94 - trunk/noe/noe_internal.h

michael subversion at mplayerhq.hu
Tue Oct 21 16:52:15 CEST 2008


Author: michael
Date: Tue Oct 21 16:52:15 2008
New Revision: 94

Log:
Make rdtsc also work on x86_64 even with gccs asshatry.


Modified:
   trunk/noe/noe_internal.h

Modified: trunk/noe/noe_internal.h
==============================================================================
--- trunk/noe/noe_internal.h	(original)
+++ trunk/noe/noe_internal.h	Tue Oct 21 16:52:15 2008
@@ -19,14 +19,12 @@
 #define NOE_MAX(a,b) ((a) > (b) ? (a) : (b))
 #define NOE_MIN(a,b) ((a) > (b) ? (b) : (a))
 
-static inline long long rdtsc()
+static inline uint64_t rdtsc(void)
 {
-    long long l;
-    asm volatile(   "rdtsc\n\t"
-        : "=A" (l)
-    );
-//  printf("%d\n", int(l/1000));
-    return l;
+    uint32_t a, d;
+    asm volatile("rdtsc\n\t"
+                 : "=a" (a), "=d" (d));
+    return ((uint64_t)d << 32) + a;
 }
 
 #define START_TIMER \



More information about the Mndiff-dev mailing list