From 8230cf0210c9845cfbe291b91c518a062da55c0c Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Mon, 18 Apr 2005 11:24:20 +0000 Subject: add an AMD64 specific implementation of rdtsc() Originally committed as revision 4135 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/common.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libavcodec') diff --git a/libavcodec/common.h b/libavcodec/common.h index 20978aeb28..4d72d88500 100644 --- a/libavcodec/common.h +++ b/libavcodec/common.h @@ -457,6 +457,16 @@ if((y)<(x)){\ #endif #if defined(ARCH_X86) || defined(ARCH_X86_64) +#if defined(ARCH_X86_64) +static inline uint64_t rdtsc(void) +{ + uint64_t a, d; + asm volatile( "rdtsc\n\t" + : "=a" (a), "=d" (d) + ); + return (d << 32) | (a & 0xffffffff); +} +#else static inline long long rdtsc(void) { long long l; @@ -465,6 +475,7 @@ static inline long long rdtsc(void) ); return l; } +#endif #define START_TIMER \ uint64_t tend;\ -- cgit v1.2.3