|
@@ -0,0 +1,28 @@
|
|
|
+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<uint64_t>(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<uint64_t>(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<uint64_t>(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
|