diff --git a/src/pike_cpulib.c b/src/pike_cpulib.c
index cac1332e06cc5adb5b14315200e19cb1afa158fa..d219c671d407ef52aebbc375965c671253e06754 100644
--- a/src/pike_cpulib.c
+++ b/src/pike_cpulib.c
@@ -20,64 +20,20 @@ PMOD_EXPORT void x86_get_cpuid(int oper, INT32 *cpuid_ptr)
  * edx -> cpuid_ptr[2]
  * ecx -> cpuid_ptr[3] */
 {
-#ifdef HAVE_X86_64_ASM
-#define cpuid_supported 1
-#else  /* HAVE_IA32_ASM */
-  static int cpuid_supported = 0;
-  if (!cpuid_supported) {
-    int fbits=0;
 #ifdef CL_X86_ASM_STYLE
-    __asm {
-      pushf
-      pop  eax
-      mov  ecx, eax
-      xor  eax, 00200000h
-      push eax
-      popf
-      pushf
-      pop  eax
-      xor  ecx, eax
-      mov  fbits, ecx
-    };
-#else  /* GCC_X86_ASM_STYLE */
-    /* Note: gcc swaps the argument order... */
-    __asm__("pushf\n\t"
-	    "pop  %%eax\n\t"
-	    "movl %%eax, %%ecx\n\t"
-	    "xorl $0x00200000, %%eax\n\t"
-	    "push %%eax\n\t"
-	    "popf\n\t"
-	    "pushf\n\t"
-	    "pop  %%eax\n\t"
-	    "xorl %%eax, %%ecx\n\t"
-	    "movl %%ecx, %0"
-	    : "=m" (fbits)
-	    :
-	    : "cc", "eax", "ecx");
-#endif
-    if (fbits & 0x00200000) {
-      cpuid_supported = 1;
-    } else {
-      cpuid_supported = -1;
-    }
-  }
-#endif	/* HAVE_IA32_ASM */
-
-  if (cpuid_supported > 0) {
-#ifdef CL_X86_ASM_STYLE
-    __asm {
-      mov eax, oper;
-      mov edi, cpuid_ptr;
-      cpuid;
-      mov [edi], eax;
-      mov [edi+4], ebx;
-      mov [edi+8], edx;
-      mov [edi+12], ecx;
-    };
+  __asm {
+    mov eax, oper;
+    mov edi, cpuid_ptr;
+    cpuid;
+    mov [edi], eax;
+    mov [edi+4], ebx;
+    mov [edi+8], edx;
+    mov [edi+12], ecx;
+  };
 #else  /* GCC_X86_ASM_STYLE */
 
 #if SIZEOF_CHAR_P == 4
-    __asm__ __volatile__("pushl %%ebx      \n\t" /* save %ebx */
+  __asm__ __volatile__("pushl %%ebx      \n\t" /* save %ebx */
                  "cpuid            \n\t"
                  "movl %%ebx, %1   \n\t" /* save what cpuid just put in %ebx */
                  "popl %%ebx       \n\t" /* restore the old %ebx */
@@ -88,7 +44,7 @@ PMOD_EXPORT void x86_get_cpuid(int oper, INT32 *cpuid_ptr)
                  : "0"(oper)
                  : "cc");
 #else
-    __asm__ __volatile__("push %%rbx      \n\t" /* save %rbx */
+  __asm__ __volatile__("push %%rbx      \n\t" /* save %rbx */
                  "cpuid            \n\t"
                  "movl %%ebx, %1   \n\t" /* save what cpuid just put in %ebx */
                  "pop %%rbx       \n\t" /* restore the old %rbx */
@@ -98,11 +54,8 @@ PMOD_EXPORT void x86_get_cpuid(int oper, INT32 *cpuid_ptr)
                    "=c"(cpuid_ptr[3])
                  : "0"(oper)
                  : "cc");
-#endif
-#endif
-  } else {
-    cpuid_ptr[0] = cpuid_ptr[1] = cpuid_ptr[2] = cpuid_ptr[3] = 0;
-  }
+#endif /* SIZEOF_CHAR_P == 4 */
+#endif /* CL_X86_ASM_STYLE */
 }
 
 #endif	/* HAVE_IA32_ASM */