diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2012-07-07 13:30:11 -0700 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2012-07-07 13:35:07 -0700 |
commit | 07b287020c9ada750251344c05b52f541be4d533 (patch) | |
tree | e8721a6b7c630193935e952edfaf2c1e6d75b841 | |
parent | 25b51b2c44f16f46d6bd5db4f3421ae57909924e (diff) | |
download | ffmpeg-07b287020c9ada750251344c05b52f541be4d533.tar.gz |
x86/timer: implement an intrinsic-based version for rdtsc (AV_READ_TIME).
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | libavutil/x86/timer.h | 8 |
2 files changed, 11 insertions, 0 deletions
@@ -1121,6 +1121,7 @@ HAVE_LIST=" netinet_sctp_h poll_h posix_memalign + rdtsc round roundf sched_getaffinity @@ -2642,6 +2643,8 @@ check_cc <<EOF && enable inline_asm void foo(void) { __asm__ volatile ("" ::); } EOF +check_code cc intrin.h "__rdtsc()" && enable rdtsc + _restrict= for restrict_keyword in restrict __restrict__ __restrict; do check_cc <<EOF && _restrict=$restrict_keyword && break diff --git a/libavutil/x86/timer.h b/libavutil/x86/timer.h index 7f51816c5a..35e614d0d0 100644 --- a/libavutil/x86/timer.h +++ b/libavutil/x86/timer.h @@ -23,6 +23,8 @@ #include <stdint.h> +#if HAVE_INLINE_ASM + #define AV_READ_TIME read_time static inline uint64_t read_time(void) @@ -32,4 +34,10 @@ static inline uint64_t read_time(void) return ((uint64_t)d << 32) + a; } +#elif HAVE_RDTSC + +#define AV_READ_TIME __rdtsc + +#endif /* HAVE_INLINE_ASM */ + #endif /* AVUTIL_X86_TIMER_H */ |