132 |
va_start(args, fmt); |
va_start(args, fmt); |
133 |
vsprintf(buf, fmt, args); |
vsprintf(buf, fmt, args); |
134 |
va_end(args); |
va_end(args); |
135 |
OutputDebugString(buf); |
OutputDebugStringA(buf); |
136 |
fprintf(stderr, "%s", buf); |
fprintf(stderr, "%s", buf); |
137 |
} |
} |
138 |
} |
} |
153 |
/*---------------------------------------------------------------------------- |
/*---------------------------------------------------------------------------- |
154 |
| msvc x86 specific macros/functions |
| msvc x86 specific macros/functions |
155 |
*---------------------------------------------------------------------------*/ |
*---------------------------------------------------------------------------*/ |
156 |
# if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64) |
# if defined(ARCH_IS_IA32) |
157 |
# 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 |
158 |
|
|
159 |
static __inline int64_t read_counter(void) |
static __inline int64_t read_counter(void) |
169 |
return ts; |
return ts; |
170 |
} |
} |
171 |
|
|
172 |
|
# elif defined(ARCH_IS_X86_64) |
173 |
|
|
174 |
|
# include <intrin.h> |
175 |
|
|
176 |
|
# define BSWAP(a) ((a) = _byteswap_ulong(a)) |
177 |
|
|
178 |
|
static __inline int64_t read_counter(void) { return __rdtsc(); } |
179 |
|
|
180 |
/*---------------------------------------------------------------------------- |
/*---------------------------------------------------------------------------- |
181 |
| msvc GENERIC (plain C only) - Probably alpha or some embedded device |
| msvc GENERIC (plain C only) - Probably alpha or some embedded device |
182 |
*---------------------------------------------------------------------------*/ |
*---------------------------------------------------------------------------*/ |
368 |
/*---------------------------------------------------------------------------- |
/*---------------------------------------------------------------------------- |
369 |
| watcom ia32 specific macros/functions |
| watcom ia32 specific macros/functions |
370 |
*---------------------------------------------------------------------------*/ |
*---------------------------------------------------------------------------*/ |
371 |
# if defined(ARCH_IS_IA32) |
# if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64) |
372 |
|
|
373 |
# 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 |
374 |
|
|