Я читал следующий вопрос:
Какой встроенный код сборки подходит для rdtscp?
где он описывает следующий C ++ для вызова rdtscp
:
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 и вопросов, касающихся возврата идентификатора ядра. Если бы я не интересовался идентификатором ядра, можно ли изменить вышеперечисленное и уменьшить rdtscp
накладные расходы / влияние на регистры?
Задача ещё не решена.