14template <
typename ChronoTraits = HWChronoTraits>
24 asm volatile(
"rdtsc" :
"=a"(a),
"=d"(d));
27#elif defined(__NE_ARM64__)
30 asm volatile(
"mrs %0, cntvct_el1" :
"=r"(result));
34#error !!! no backend defined !!!
42template <
typename ChronoTraits>
#define NE_COPY_DEFAULT(KLASS)
Definition Detail.h:17
hardware chronometer implementation using a trait to extract the data.
Definition HWChronometer.h:43
UInt64 fStop
Definition HWChronometer.h:64
virtual ~HWChrono() override=default
UInt64 GetElapsedTime() const override
Definition HWChronometer.h:60
UInt64 fStart
Definition HWChronometer.h:63
Void Reset() override
Definition HWChronometer.h:55
Void Start() override
Definition HWChronometer.h:51
Void Stop() override
Definition HWChronometer.h:53
Definition HWChronometer.h:15
UPS inline definitions.
Definition Device.h:12
void Void
Definition Config.h:87
__UINT64_TYPE__ UInt64
Definition Config.h:48
BenchKit chrono logic for x64/ARM64.
Definition HWChronometer.h:18
STATIC UInt64 TickImpl_(void)
Definition HWChronometer.h:20