Generation

generate functionWed, 07 Jun 2023

获取x86的当前tick总数

int64_t Counter::rdtsc() { #if defined(__x86_64__) int64_t ret = 0; uint32_t high = 0; uint32_t low = 0; __asm__ volatile("rdtsc":"=a"(low), "=d"(high)); ret = ((int64_t)high << 32) | low; return ret; #elif defined(__i386__) int64_t ret = 0; __asm__ volatile("rdtsc": "=A"(ret)); return ret; #elif defined(__powerpc__) uint64_t tbl, tbu0, tbu1; do { __asm__ volatile("mftbu %0" : "=r"(tbu0)); __asm__ volatile("mftb %0" : "=r"(tbl)); __asm__ volatile("mftbu %0" : "=r"(tbu1)); } while (tbu0 !=

Questions about programming?Chat with your personal AI assistant