StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
i386Lib.h
1 #ifndef _I386_LIB_H
2 #define _I386_LIB_H
3 
4 
5 #define rdtsc(low,high) \
6  __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high))
7 #define rdtscl(low) \
8  __asm__ __volatile__("rdtsc" : "=a" (low) : : "edx")
9 #define rdtscll(val) \
10  __asm__ __volatile__("rdtsc" : "=A" (val))
11 
12 extern inline unsigned long long getfast_l(void)
13 {
14  register unsigned int l, h ;
15 
16  __asm__ __volatile__("rdtsc" : "=a" (l), "=d" (h)) ;
17 
18  return ((unsigned long long)h<<32) | l ;
19 
20 }
21 
22 extern inline unsigned int getfast(void)
23 {
24  register unsigned int l ;
25 
26  __asm__ __volatile__("rdtsc" : "=a" (l) : : "edx" ) ;
27 
28  return l ;
29 
30 }
31 
32 #endif