mirror of https://git.ffmpeg.org/ffmpeg.git
x86/timer: implement an intrinsic-based version for rdtsc (AV_READ_TIME).
This commit is contained in:
parent
25b51b2c44
commit
07b287020c
|
@ -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
|
||||
|
|
|
@ -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…
Reference in New Issue