我正在阅读以下问:
Which inline assembly code is correct for rdtscp?
它描述了以下用于调用rdtscp
的C ++:
static inline uint64_t rdtscp( uint32_t & aux )
{
uint64_t rax,rdx;
asm volatile ( "rdtscp\n" : "=a" (rax), "=d" (rdx), "=c" (aux) : : );
return (rdx << 32) + rax;
}
但是,有关于ECX和有关返回核心ID的问题的讨论。如果我对核心ID不感兴趣,是否可以修改上述内容并减少rdtscp
调用开销/对寄存器的影响?