[PATCH] x86_64 version of rdtscll()
authorUlisses Furquim <ulissesf@gmail.com>
Tue, 6 Feb 2007 09:59:12 +0000 (10:59 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 6 Feb 2007 09:59:12 +0000 (10:59 +0100)
this patch only adds a x86_64 version of rdtscll() to splice-test4c.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
splice-test4c.c

index 3d1a867ddfc035e974df5842859c477ec82badd8..4176a6ec0bdedc3e2fb3da2523095657d5f4b701 100644 (file)
@@ -315,6 +315,13 @@ static void setup_shared_var(void)
 do {                                                   \
        __asm__ __volatile__("rdtsc" : "=A" (val));     \
 } while (0)
+#elif defined(__x86_64__)
+#define rdtscll(val)                                           \
+do {                                                           \
+       uint64_t lo, hi;                                        \
+       __asm__ __volatile__("rdtsc" : "=a" (lo), "=d" (hi));   \
+       (val) = (hi << 32) | lo;                                \
+} while (0)
 #if 0
 #elif defined(__ia64__)
 #define rdtscll(val)                                   \