Index: /branches/arm/lisp-kernel/arm-spentry.s
===================================================================
--- /branches/arm/lisp-kernel/arm-spentry.s	(revision 13848)
+++ /branches/arm/lisp-kernel/arm-spentry.s	(revision 13849)
@@ -802,5 +802,5 @@
         __(cmp arg_z,arg_y)
         __(_rplaca(arg_y,arg_z))
-        __(bxhs lr)
+        __(bxlo lr)
         __(ref_global(temp0,ref_base))
         __(sub imm0,arg_y,temp0)
@@ -828,5 +828,5 @@
         __(cmp arg_z,arg_y)
         __(_rplacd(arg_y,arg_z))
-        __(bxhs lr)
+        __(bxlo lr)
         __(ref_global(temp0,ref_base))
         __(sub imm0,arg_y,temp0)
@@ -857,5 +857,5 @@
 	__(add imm0,arg_y,#misc_data_offset)
 	__(str arg_z,[arg_x,imm0])
-        __(bxhs lr)
+        __(bxlo lr)               
         __(add imm0,imm0,arg_x)
         __(ref_global(temp0,ref_base))
@@ -879,7 +879,7 @@
 
         
-dnl /* This is a special case of storing into a gvector: if we need to memoize  */
-dnl /* the store, record the address of the hash-table vector in the refmap,  */
-dnl /* as well. */
+/* This is a special case of storing into a gvector: if we need to memoize  */
+/* the store, record the address of the hash-table vector in the refmap,  */
+/* as well. */
         .globl C(egc_set_hash_key)        
 _spentry(set_hash_key)
@@ -888,5 +888,5 @@
 	__(add imm0,arg_y,#misc_data_offset)
 	__(str arg_z,[arg_x,imm0])
-        __(bxhs lr)
+        __(bxlo lr)
         __(add imm0,imm0,arg_x)
         __(ref_global(temp0,ref_base))
@@ -961,5 +961,5 @@
         __(bne 1b)
         __(cmp arg_z,arg_x)
-        __(bhi 4f)
+        __(blo 4f)
 
         __(ref_global(imm0,ref_base))
@@ -1000,5 +1000,5 @@
         __(bne 0b)
         __(cmp arg_z,arg_x)
-        __(bhi 4f)
+        __(blo 4f)
         __(ref_global(temp0,ref_base))
         __(sub imm0,imm2,temp0)
@@ -1429,10 +1429,9 @@
 
 _spentry(stack_cons_rest_arg)
-        __(sub imm1,nargs,imm0)
-        __(cmp imm1,#0)
+        __(subs imm1,nargs,imm0)
         __(mov arg_z,#nil_value)
         __(ble 2f)  /* always temp-push something.  */
+        __(mov temp0,imm1)
         __(add imm1,imm1,imm1)
-        __(mov temp0,imm1)
         __(add imm1,imm1,#node_size)
         __(dnode_align(imm0,imm1,node_size))
