1 #ifndef FWCore_Utilities_HRRealTime_H 2 #define FWCore_Utilities_HRRealTime_H 23 static __inline__
unsigned long long rdtsc(
void)
25 unsigned long long int x;
26 __asm__
volatile (
".byte 0x0f, 0x31" :
"=A" (x));
29 #elif defined(__x86_64__) 32 static __inline__
unsigned long long rdtsc(
void)
35 __asm__ __volatile__ (
"rdtsc" :
"=a"(lo),
"=d"(hi));
36 return ( (
unsigned long long)lo)|( ((
unsigned long long)hi)<<32 );
39 #elif defined(__powerpc__) 42 static __inline__
unsigned long long rdtsc(
void)
44 unsigned long long int result=0;
57 result = result|lower;
61 #elif defined(__arm__) 62 #warning unsigned long long rdtsc(void) is not implemented on ARMv7 architecture. Returning 0 by default. 63 static __inline__
unsigned long long rdtsc(
void)
67 #elif defined(__aarch64__) 68 static __inline__
unsigned long long rdtsc(
void)
85 unsigned long long ret;
86 __asm__ __volatile__ (
"isb; mrs %0, cntvct_el0" :
"=r" (ret));
90 #error The file FWCore/Utilities/interface/HRRealTime.h needs to be set up for your CPU type. 102 return details::rdtsc();
108 #endif // FWCore_Utilities__HRRealTime_H
std::vector< std::vector< double > > tmp
long long int HRTimeDiffType
unsigned long long int HRTimeType