Changeset View
Changeset View
Standalone View
Standalone View
libraries/source/nvtt/src/src/nvcore/Timer.h
Show All 20 Lines | NV_FORCEINLINE uint64 fastCpuClock() { | ||||
return val; | return val; | ||||
} | } | ||||
#elif NV_CC_GNUC && NV_CPU_X86_64 | #elif NV_CC_GNUC && NV_CPU_X86_64 | ||||
NV_FORCEINLINE uint64 fastCpuClock() { | NV_FORCEINLINE uint64 fastCpuClock() { | ||||
uint hi, lo; | uint hi, lo; | ||||
__asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi)); | __asm__ __volatile__ ("rdtsc" : "=a"(lo), "=d"(hi)); | ||||
return uint64(lo) | (uint64(hi) << 32); | return uint64(lo) | (uint64(hi) << 32); | ||||
} | } | ||||
#elif NV_CPU_E2K | |||||
NV_FORCEINLINE uint64 fastCpuClock() { | |||||
uint64 val; | |||||
asm volatile("rrd %%clkr, %0" : "=r" (val)); | |||||
return val; | |||||
} | |||||
#else | #else | ||||
NV_FORCEINLINE uint64 fastCpuClock() { return 0; } | NV_FORCEINLINE uint64 fastCpuClock() { return 0; } | ||||
#endif | #endif | ||||
uint64 systemClockFrequency(); | uint64 systemClockFrequency(); | ||||
uint64 systemClock(); | uint64 systemClock(); | ||||
class NVCORE_CLASS Timer | class NVCORE_CLASS Timer | ||||
Show All 17 Lines |
Wildfire Games · Phabricator