--- tcl8.6.13/win/tclWin32Dll.c.orig	2022-06-06 17:58:41.000000000 +0200
+++ tcl8.6.13/win/tclWin32Dll.c	2024-01-17 08:01:23.513492500 +0100
@@ -667,7 +667,7 @@
     status = TCL_OK;
 
 #elif defined(__GNUC__) && defined(HAVE_CPUID)
-#   if defined(_WIN64)
+#   if defined(__x86_64__)
     /*
      * Execute the CPUID instruction with the given index, and store results
      * off 'regPtr'.
@@ -696,7 +696,7 @@
 	"%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory");
     status = TCL_OK;
 
-#   else
+#   elif defined(__i386__)
 
     TCLEXCEPTION_REGISTRATION registration;
 
@@ -783,7 +783,7 @@
 
 #   endif /* !_WIN64 */
 #elif defined(_MSC_VER) && defined(HAVE_CPUID)
-#   if defined(_WIN64)
+#   if defined(_M_X64)
 
     __cpuid(regsPtr, index);
     status = TCL_OK;
