How to count clock cycles with RDTSC in GCC x86? [duplicate]

The other answers work, but you can avoid inline assembly by using GCC’s __rdtsc intrinsic, available by including x86intrin.h.

It is defined at: gcc/config/i386/ia32intrin.h:

/* rdtsc */
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rdtsc (void)
{
  return __builtin_ia32_rdtsc ();
}

Leave a Comment