Index: win/tclWin32Dll.c
===================================================================
RCS file: /cvsroot/tcl/tcl/win/tclWin32Dll.c,v
retrieving revision 1.72
diff -u -r1.72 tclWin32Dll.c
--- win/tclWin32Dll.c	19 Dec 2010 18:14:47 -0000	1.72
+++ win/tclWin32Dll.c	19 Dec 2010 18:55:22 -0000
@@ -836,7 +836,13 @@
     status = registration.status;
 
 #   endif /* !_WIN64 */
-#elif defined(_MSC_VER) && !defined(_WIN64)
+#elif defined(_MSC_VER)
+#   if defined(_WIN64)
+
+    __cpuid(regsPtr, index);
+
+#   else
+
     /*
      * Define a structure in the stack frame to hold the registers.
      */
@@ -883,6 +889,7 @@
 	/* do nothing */
     }
 
+#   endif
 #else
     /*
      * Don't know how to do assembly code for this compiler and/or
