From: Michael Beck Date: Tue, 21 Dec 2010 02:09:06 +0000 (+0000) Subject: Add support for Win64. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=a221e03bde215b1df4ad11f3348f5d55b85529d7;p=libfirm Add support for Win64. [r28195] --- diff --git a/ir/stat/stat_timing.h b/ir/stat/stat_timing.h index 517f20167..6d62f5a0f 100644 --- a/ir/stat/stat_timing.h +++ b/ir/stat/stat_timing.h @@ -26,15 +26,17 @@ #ifndef FIRM_STAT_TIMING_H #define FIRM_STAT_TIMING_H -#if defined(__i386__) || defined(_M_IX86) +#if defined(__i386__) || defined(_M_IX86) || defined(_M_X64) #if defined(__GNUC__) typedef unsigned long long timing_ticks_t; static inline timing_ticks_t __timing_ticks(void) { timing_ticks_t result; __asm__ __volatile__ ("rdtsc" : "=A" (result)); return result; } + #elif defined(_MSC_VER) -/* win32 implementation using rdtsc */ +#include + typedef unsigned __int64 timing_ticks_t; -static __inline timing_ticks_t __timing_ticks(void) { __asm { rdtsc } } +static __inline timing_ticks_t __timing_ticks(void) { return __rdtsc(); } #else #error need a 64bit int type #endif @@ -47,7 +49,7 @@ static __inline timing_ticks_t __timing_ticks(void) { __asm { rdtsc } } #define timing_ticks_ulong(t) ((unsigned long) (t)) #define timing_ticks_dbl(t) ((double) (t)) -#else /* !__i386__ */ +#else /* !__i386__ && !__x86_64 */ #include