diff --git a/quill/include/quill/core/Rdtsc.h b/quill/include/quill/core/Rdtsc.h index 2a5203b..17b92b7 100644 --- a/quill/include/quill/core/Rdtsc.h +++ b/quill/include/quill/core/Rdtsc.h @@ -45,7 +45,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept __asm__ volatile("mrs %0, cntvct_el0" : "=r"(virtual_timer_value)); return static_cast(virtual_timer_value); } -#elif defined(__ARM_ARCH) +#elif (defined(__ARM_ARCH) && !defined(_MSC_VER)) QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept { #if (__ARM_ARCH >= 6) @@ -69,13 +69,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept // soft failover return static_cast(std::chrono::system_clock::now().time_since_epoch().count()); } -#elif (defined(_M_ARM) || defined(_M_ARM64)) -QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept -{ - // soft failover - return static_cast(std::chrono::system_clock::now().time_since_epoch().count()); -} -#elif (defined(__PPC64__)) +#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__)) QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept { // soft failover