110 |
|
|
111 |
// needed for bitstream.h |
// needed for bitstream.h |
112 |
#ifdef ARCH_PPC |
#ifdef ARCH_PPC |
113 |
#define BSWAP(a) __asm__ ( "lwbrx %0,0,%1; eieio" : "=r" (a) : \ |
#define BSWAP(a) __asm__ __volatile__ ( "lwbrx %0,0,%1; eieio" : "=r" (a) : \ |
114 |
"r" (&(a)), "m" (a)); |
"r" (&(a)), "m" (a)); |
115 |
#define EMMS() |
#define EMMS() |
116 |
|
|
127 |
static __inline int64_t read_counter() { |
static __inline int64_t read_counter() { |
128 |
unsigned long tb, tu; |
unsigned long tb, tu; |
129 |
do { |
do { |
|
tb = get_tbl(); |
|
130 |
tu = get_tbu(); |
tu = get_tbu(); |
131 |
|
tb = get_tbl(); |
132 |
} while(tb != get_tbl()); |
} while(tb != get_tbl()); |
133 |
return (((int64_t)tu) << 32) | (int64_t)tb; |
return (((int64_t)tu) << 32) | (int64_t)tb; |
134 |
} |
} |