comparison common.h @ 2613:1c1b53f353ff libavcodec

add an AMD64 specific implementation of rdtsc()
author aurel
date Mon, 18 Apr 2005 11:24:20 +0000
parents 9a7770ebed14
children 08cce4785567
comparison
equal deleted inserted replaced
2612:210cca8f5764 2613:1c1b53f353ff
455 (c)=(d);\ 455 (c)=(d);\
456 } 456 }
457 #endif 457 #endif
458 458
459 #if defined(ARCH_X86) || defined(ARCH_X86_64) 459 #if defined(ARCH_X86) || defined(ARCH_X86_64)
460 #if defined(ARCH_X86_64)
461 static inline uint64_t rdtsc(void)
462 {
463 uint64_t a, d;
464 asm volatile( "rdtsc\n\t"
465 : "=a" (a), "=d" (d)
466 );
467 return (d << 32) | (a & 0xffffffff);
468 }
469 #else
460 static inline long long rdtsc(void) 470 static inline long long rdtsc(void)
461 { 471 {
462 long long l; 472 long long l;
463 asm volatile( "rdtsc\n\t" 473 asm volatile( "rdtsc\n\t"
464 : "=A" (l) 474 : "=A" (l)
465 ); 475 );
466 return l; 476 return l;
467 } 477 }
478 #endif
468 479
469 #define START_TIMER \ 480 #define START_TIMER \
470 uint64_t tend;\ 481 uint64_t tend;\
471 uint64_t tstart= rdtsc();\ 482 uint64_t tstart= rdtsc();\
472 483