Browse Source

x86/timer: implement an intrinsic-based version for rdtsc (AV_READ_TIME).

tags/n1.0
Ronald S. Bultje 13 years ago
parent
commit
07b287020c
2 changed files with 11 additions and 0 deletions
  1. +3
    -0
      configure
  2. +8
    -0
      libavutil/x86/timer.h

+ 3
- 0
configure View File

@@ -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


+ 8
- 0
libavutil/x86/timer.h View File

@@ -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 */

Loading…
Cancel
Save