151 |
/*---------------------------------------------------------------------------- |
/*---------------------------------------------------------------------------- |
152 |
| msvc x86 specific macros/functions |
| msvc x86 specific macros/functions |
153 |
*---------------------------------------------------------------------------*/ |
*---------------------------------------------------------------------------*/ |
154 |
# if defined(ARCH_IS_IA32) |
# if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64) |
155 |
# define BSWAP(a) __asm mov eax,a __asm bswap eax __asm mov a, eax |
# define BSWAP(a) __asm mov eax,a __asm bswap eax __asm mov a, eax |
156 |
|
|
157 |
static __inline int64_t read_counter(void) |
static __inline int64_t read_counter(void) |
219 |
if(xvid_debug & level) { |
if(xvid_debug & level) { |
220 |
vfprintf(stderr, format, args); |
vfprintf(stderr, format, args); |
221 |
} |
} |
222 |
|
va_end(args); |
223 |
} |
} |
224 |
|
|
225 |
# else /* _DEBUG */ |
# else /* _DEBUG */ |
234 |
/*---------------------------------------------------------------------------- |
/*---------------------------------------------------------------------------- |
235 |
| gcc IA32 specific macros/functions |
| gcc IA32 specific macros/functions |
236 |
*---------------------------------------------------------------------------*/ |
*---------------------------------------------------------------------------*/ |
237 |
# if defined(ARCH_IS_IA32) |
# if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64) |
238 |
# define BSWAP(a) __asm__ ( "bswapl %0\n" : "=r" (a) : "0" (a) ); |
# define BSWAP(a) __asm__ ( "bswapl %0\n" : "=r" (a) : "0" (a) ); |
239 |
|
|
240 |
static __inline int64_t read_counter(void) |
static __inline int64_t read_counter(void) |
291 |
*---------------------------------------------------------------------------*/ |
*---------------------------------------------------------------------------*/ |
292 |
# elif defined(ARCH_IS_IA64) |
# elif defined(ARCH_IS_IA64) |
293 |
# define BSWAP(a) __asm__ __volatile__ \ |
# define BSWAP(a) __asm__ __volatile__ \ |
294 |
("mux1 %1 = %0, @rev" ";;" \ |
("mux1 %0 = %1, @rev" ";;" \ |
295 |
"shr.u %1 = %1, 32" : "=r" (a) : "r" (a)); |
"shr.u %0 = %0, 32" : "=r" (a) : "r" (a)); |
296 |
|
|
297 |
static __inline int64_t read_counter(void) |
static __inline int64_t read_counter(void) |
298 |
{ |
{ |