summaryrefslogtreecommitdiff
path: root/indra/llcommon/llfasttimer.h
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2025-07-18 13:52:07 +0800
committerErik Kundiman <erik@megapahit.org>2025-07-18 13:52:07 +0800
commitc6048b2a8e18877f3f8bd0a7e190c553a3caa9a5 (patch)
tree5e5b921f08012b20a5ae940d4f8ac4bd95e2f444 /indra/llcommon/llfasttimer.h
parent04081678eeaa1d56cecc1c68aa358d255addf81d (diff)
parent09a3bac9436af1b6077fb27885c8c6c645f40a8e (diff)
Merge branch 'main' into 2025.05
Diffstat (limited to 'indra/llcommon/llfasttimer.h')
-rw-r--r--indra/llcommon/llfasttimer.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/indra/llcommon/llfasttimer.h b/indra/llcommon/llfasttimer.h
index a69a03e419..8499655bfa 100644
--- a/indra/llcommon/llfasttimer.h
+++ b/indra/llcommon/llfasttimer.h
@@ -99,7 +99,11 @@ public:
#if LL_FASTTIMER_USE_RDTSC
static U32 getCPUClockCount32()
{
+#if _M_ARM64
+ unsigned __int64 val = _ReadStatusReg(ARM64_PMCCNTR_EL0);
+#else
unsigned __int64 val = __rdtsc();
+#endif
val = val >> 8;
return static_cast<U32>(val);
}
@@ -107,7 +111,11 @@ public:
// return full timer value, *not* shifted by 8 bits
static U64 getCPUClockCount64()
{
+#if _M_ARM64
+ return static_cast<U64>( _ReadStatusReg(ARM64_PMCCNTR_EL0) );
+#else
return static_cast<U64>( __rdtsc() );
+#endif
}
#else