|
|
@@ -457,6 +457,16 @@ if((y)<(x)){\ |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(ARCH_X86) || defined(ARCH_X86_64) |
|
|
|
#if defined(ARCH_X86_64) |
|
|
|
static inline uint64_t rdtsc(void) |
|
|
|
{ |
|
|
|
uint64_t a, d; |
|
|
|
asm volatile( "rdtsc\n\t" |
|
|
|
: "=a" (a), "=d" (d) |
|
|
|
); |
|
|
|
return (d << 32) | (a & 0xffffffff); |
|
|
|
} |
|
|
|
#else |
|
|
|
static inline long long rdtsc(void) |
|
|
|
{ |
|
|
|
long long l; |
|
|
@@ -465,6 +475,7 @@ static inline long long rdtsc(void) |
|
|
|
); |
|
|
|
return l; |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
#define START_TIMER \ |
|
|
|
uint64_t tend;\ |
|
|
|