ROSS
amd64.h
Go to the documentation of this file.
1 #ifndef INC_clock_amd64
2 #define INC_clock_amd64
3 
4 typedef uint64_t tw_clock;
5 
6 static inline tw_clock tw_clock_read(void)
7 {
8  tw_clock result=0;
9 #ifdef ROSS_timing
10  unsigned a, d;
11 
12  do {
13  __asm__ __volatile__("rdtsc" : "=a" (a), "=d" (d));
14  result = ((uint64_t)a) | (((uint64_t)d) << 32);
15  } while (__builtin_expect ((int) result == -1, 0));
16 #endif
17  return result;
18 }
19 
20 #endif
uint64_t tw_clock
Definition: amd64.h:4
uint64_t tw_clock
Definition: aarch64.h:4
static tw_clock tw_clock_read(void)
Definition: amd64.h:6