Mercurial > libavutil.hg
changeset 580:fddfdadb477f libavutil
Port read_time() that works on x86_32 and 64 from noe.
author | michael |
---|---|
date | Tue, 21 Oct 2008 14:57:55 +0000 |
parents | 2ec148d26d9f |
children | 95c9067ebb73 |
files | common.h |
diffstat | 1 files changed, 3 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/common.h Mon Oct 20 00:03:25 2008 +0000 +++ b/common.h Tue Oct 21 14:57:55 2008 +0000 @@ -323,21 +323,13 @@ #if defined(ARCH_X86) || defined(ARCH_POWERPC) || defined(ARCH_BFIN) #define AV_READ_TIME read_time -#if defined(ARCH_X86_64) +#if defined(ARCH_X86) static inline uint64_t read_time(void) { - uint64_t a, d; + uint32_t a, d; __asm__ volatile("rdtsc\n\t" : "=a" (a), "=d" (d)); - return (d << 32) | (a & 0xffffffff); -} -#elif defined(ARCH_X86_32) -static inline long long read_time(void) -{ - long long l; - __asm__ volatile("rdtsc\n\t" - : "=A" (l)); - return l; + return ((uint64_t)d << 32) + a; } #elif ARCH_BFIN static inline uint64_t read_time(void)