2016-04-05 19 views
0

ich folgend in gcc ia32intrin.h sehen:gcc __rdtscp Dokumentation

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

Aber ich kann keine andere Dokumentation für __builtin_ia32_rtdtscp finden (und was insbesondere für __A passiert in)

diese builtin Zeit ist nicht zur Verwendung gedacht oder sind sie nicht dokumentiert?

+1

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

Antwort

0

Sie sollten sich ein ASM-Handbuch wie Intels (Links im -Tag-Wiki) ansehen.

rdtscp erzeugt ein 64-Bit-Timestamp-Ergebnis (das ist offensichtlich der Rückgabewert), und ein 32bit IA32_TSC_AUX.

Aus der Art, wie die Anweisung funktioniert, können wir auch schlussfolgern, dass der Anfangswert, auf den __A zeigt, keine Rolle spielt: es ist nur ein Zeiger auf schreibgeschützten Speicher für das Ergebnis.