Index: /branches/arm/compiler/ARM/arm-lapmacros.lisp
===================================================================
--- /branches/arm/compiler/ARM/arm-lapmacros.lisp	(revision 13807)
+++ /branches/arm/compiler/ARM/arm-lapmacros.lisp	(revision 13808)
@@ -164,6 +164,6 @@
 (defarmlapmacro header-length (dest vheader)
   `(progn
-    (mov ,dest '-1)
-    (and ,dest ,dest (:lsr ,vheader (:$ (- arm::num-subtag-bits arm::fixnumshift))))))
+    (bic ,dest ,vheader (:$ arm::subtag-mask))
+    (mov ,dest (:lsr ,dest (:$ (- arm::num-subtag-bits arm::fixnumshift))))))
 
 
@@ -254,5 +254,5 @@
 (defarmlapmacro get-double-float (dest node)
   `(progn
-    (ldrdd imm0 imm1 (:@ ,node (:$ arm::double-float.value)))
+    (ldrd imm0 (:@ ,node (:$ arm::double-float.value)))
     (fmdrr ,dest imm0 imm1)))
   
@@ -266,5 +266,5 @@
   `(progn
     (fmrrd imm0 imm1 ,src)
-    (strdd imm0 imm1 (:@ ,node (:$ arm::double-float.value)))))
+    (strd imm0 (:@ ,node (:$ arm::double-float.value)))))
 
 
