Index: /trunk/ccl/compiler/X86/X8664/x8664-vinsns.lisp
===================================================================
--- /trunk/ccl/compiler/X86/X8664/x8664-vinsns.lisp	(revision 5568)
+++ /trunk/ccl/compiler/X86/X8664/x8664-vinsns.lisp	(revision 5569)
@@ -680,8 +680,8 @@
 				       (v :lisp))
 				      ((temp :u64)))
-  (movq (:%q idx) (:%q temp))
-  (shlq (:$ub (- x8664::num-subtag-bits x8664::fixnumshift)) (:%q temp))
-  (decb (:%b temp))
-  (rcmpq (:%q temp) (:@ x8664::misc-header-offset (:%q v)))
+  (movq (:@ x8664::misc-header-offset (:%q v)) (:%q temp))
+  (xorb (:%b temp) (:%b temp))
+  (shrq (:$ub (- x8664::num-subtag-bits x8664::fixnumshift)) (:%q temp))
+  (rcmpq (:%q idx) (:%q temp))
   (jb.pt :ok)
   (uuo-error-vector-bounds (:%q idx) (:%q v))
