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 #warning unsigned long long rdtsc(void) is not implemented on ARMv8 (AArch64) architecture. Returning 0 by default.
69 static __inline__
unsigned long long rdtsc(
void)
74 #error The file FWCore/Utilities/interface/HRRealTime.h needs to be set up for your CPU type.
86 return details::rdtsc();
92 #endif // FWCore_Utilities__HRRealTime_H
T x() const
Cartesian x coordinate.
std::vector< std::vector< double > > tmp
long long int HRTimeDiffType
unsigned long long int HRTimeType