2016-04-05 2 views
0

я вижу следующее ia32intrin.h ССЗ:Gcc __rdtscp документация

/* rdtscp */ 
extern __inline unsigned long long 
__attribute__((__gnu_inline__, __always_inline__, __artificial__)) 
__rdtscp (unsigned int *__A) 
{ 
    return __builtin_ia32_rdtscp (__A); 
} 

Но я не могу найти какой-либо другой документации для __builtin_ia32_rtdtscp (и что необходимо передать в __A, в частности)

ли эти BUILTIN-х не предназначены для использования или они просто не документированы?

+1

См. Https://msdn.microsoft.com/en-us/library/bb385235(v=vs.90).aspx – Michael

ответ

0

Вы должны посмотреть руководство по набору инструкций asm, например, Intel (ссылки в wiki для ).

rdtscp производит 64-битный результат временной метки (который является, очевидно, возвращаемым значением) и 32-разрядным IA32_TSC_AUX.

Из того, как работает инструкция, мы также можем заключить, что начальное значение, на которое указывает __A, не имеет значения: это всего лишь указатель на хранилище только для записи для результата.

Смежные вопросы