Fix __cpuid() compile error with gcc
authorMarco Costalba <mcostalba@gmail.com>
Wed, 17 Mar 2010 12:22:28 +0000 (13:22 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Wed, 17 Mar 2010 12:22:28 +0000 (13:22 +0100)
Use same __cpuid() signature used under Windows.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/types.h

index d91009df453748d6701ee607b177921368a7a60e..3d0305de78c3153b7a5c04602d2ba1d6eb4426cf 100644 (file)
@@ -80,11 +80,14 @@ typedef uint64_t Bitboard;
 #elif defined(_MSC_VER)
 #include <intrin.h>
 #elif defined(__GNUC__)
-inline void __cpuid(unsigned int op,
-                    unsigned int *eax, unsigned int *ebx,
-                    unsigned int *ecx, unsigned int *edx)
+inline void __cpuid(int CPUInfo[4], int InfoType)
 {
-  *eax = op;
+  int* eax = CPUInfo + 0;
+  int* ebx = CPUInfo + 1;
+  int* ecx = CPUInfo + 2;
+  int* edx = CPUInfo + 3;
+
+  *eax = InfoType;
   *ecx = 0;
   __asm__("cpuid" : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
                   : "0" (*eax), "2" (*ecx));