aboutsummaryrefslogtreecommitdiffstats
path: root/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index 58953b94e2..d019633dc0 100644
--- a/gc.c
+++ b/gc.c
@@ -935,6 +935,18 @@ tick(void)
return ((unsigned long long)lo)|( ((unsigned long long)hi)<<32);
}
+#elif defined(__powerpc64__) && \
+ ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+typedef unsigned long long tick_t;
+#define PRItick "llu"
+
+static __inline__ tick_t
+tick(void)
+{
+ unsigned long long val = __builtin_ppc_get_timebase();
+ return val;
+}
+
#elif defined(_WIN32) && defined(_MSC_VER)
#include <intrin.h>
typedef unsigned __int64 tick_t;