summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/cycles.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-01-14 22:02:07 +0000
committerCarl Hetherington <carl@carlh.net>2012-01-14 22:02:07 +0000
commitaf5f57d807d5d7057b70173ba77546a9a276e6f6 (patch)
tree88b4c9f4d1b2574b19b751bc449b629e41173f63 /libs/ardour/ardour/cycles.h
parentd51f3e34b4b9aecb62fa3ecaca9d0ac298ef511c (diff)
Fix use of rdtsc on 64-bit (I think).
git-svn-id: svn://localhost/ardour2/branches/3.0@11243 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/cycles.h')
-rw-r--r--libs/ardour/ardour/cycles.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/libs/ardour/ardour/cycles.h b/libs/ardour/ardour/cycles.h
index bfa42a157e..a0249f8665 100644
--- a/libs/ardour/ardour/cycles.h
+++ b/libs/ardour/ardour/cycles.h
@@ -43,15 +43,15 @@ typedef uint64_t cycles_t;
extern cycles_t cacheflush_time;
-#define rdtscll(val) \
- __asm__ __volatile__("rdtsc" : "=A" (val))
+#define rdtscll(lo, hi) \
+ __asm__ __volatile__("rdtsc" : "=a" (lo), "=d" (hi))
static inline cycles_t get_cycles (void)
{
- cycles_t ret;
+ cycles_t lo, hi;
- rdtscll(ret);
- return ret & 0xffffffff;
+ rdtscll(lo, hi);
+ return lo;
}
#elif defined(__powerpc__)