From 0437e37299a30ecfea716e15069bfb5cfd3697b5 Mon Sep 17 00:00:00 2001 From: Valentin Churavy Date: Wed, 18 Nov 2020 21:34:02 -0500 Subject: [PATCH] implement cycleclock on PPC --- src/julia_internal.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/julia_internal.h b/src/julia_internal.h index 9db9385c9371b..19efe2ad23912 100644 --- a/src/julia_internal.h +++ b/src/julia_internal.h @@ -107,6 +107,12 @@ static inline uint64_t cycleclock(void) int64_t virtual_timer_value; __asm__ volatile("mrs %0, cntvct_el0" : "=r"(virtual_timer_value)); return virtual_timer_value; +#elif defined(_CPU_PPC64_) + // This returns a time-base, which is not always precisely a cycle-count. + // https://reviews.llvm.org/D78084 + int64_t tb; + asm volatile("mfspr %0, 268" : "=r" (tb)); + return tb; #else #warning No cycleclock() definition for your platform // copy from https://github.com/google/benchmark/blob/v1.5.0/src/cycleclock.h