117#if HWY_ARCH_PPC && defined(__GLIBC__) && defined(__powerpc64__)
118 asm volatile(
"mfspr %0, %1" :
"=r"(t) :
"i"(268));
119#elif HWY_ARCH_ARM_A64 && !HWY_COMPILER_MSVC
121 asm volatile(
"mrs %0, cntvct_el0" :
"=r"(t));
122#elif HWY_ARCH_X86 && HWY_COMPILER_MSVC
141 :
"rdx",
"memory",
"cc");
143 asm volatile(
"fence; rdtime %0" :
"=r"(t));
144#elif defined(_WIN32) || defined(_WIN64)
145 LARGE_INTEGER counter;
146 (void)QueryPerformanceCounter(&counter);
147 t = counter.QuadPart;
148#elif defined(__APPLE__)
149 t = mach_absolute_time();
150#elif defined(__HAIKU__)
151 t = system_time_nsecs();
154 clock_gettime(CLOCK_MONOTONIC, &ts);
155 t =
static_cast<Ticks>(ts.tv_sec * 1000000000LL + ts.tv_nsec);