Index: /branches/arm/compiler/ARM/arm-vinsns.lisp
===================================================================
--- /branches/arm/compiler/ARM/arm-vinsns.lisp	(revision 13834)
+++ /branches/arm/compiler/ARM/arm-vinsns.lisp	(revision 13835)
@@ -1058,5 +1058,5 @@
   (bne :maybe-two-digit)
   (ldr dest (:@ src (:$ arm::misc-data-offset)))
-  (tst dest (:$ 31))
+  (tst dest (:$ (ash 1 31)))
   (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-u32))
   (b  :got-it)
@@ -1953,6 +1953,6 @@
                               ((val :u8)) 
                               ())
-  (mov result (:lsr val (:$ 24)))
-  (mov result (:lsr val (:$ (- 24 arm::fixnumshift)))))
+  (mov result (:lsl val (:$ 24)))
+  (mov result (:lsr result (:$ (- 24 arm::fixnumshift)))))
 
 ;;; Treat the low 8 bits of VAL as a signed integer; set RESULT to the equivalent fixnum.
@@ -3093,5 +3093,5 @@
 (define-arm-vinsn %debug-trap (()
                                                      ())
-  (uuo-debug-trap))
+  (uuo-debug-trap (:? al)))
 
 
