Index: /branches/arm/compiler/ARM/arm-asm.lisp
===================================================================
--- /branches/arm/compiler/ARM/arm-asm.lisp	(revision 13735)
+++ /branches/arm/compiler/ARM/arm-asm.lisp	(revision 13736)
@@ -185,24 +185,23 @@
      (:prefer-separate-cond))
    (define-arm-instruction uuo-error-wrong-nargs ()
-     #x07f001f0
+     #x07f000f1
      #x0fffffff
      (:prefer-separate-cond))
    (define-arm-instruction uuo-gc-trap ()
-     #x07f002f0
+     #x07f001f2
      #x0fffffff 
      (:prefer-separate-cond))
    (define-arm-instruction uuo-debug-trap ()
-     #x07f003f0
+     #x07f002f3
      #x0fffffff 
      (:prefer-separate-cond))
    (define-arm-instruction uuo-interrupt-now ()
-     #x07f004f0
+     #x07f003f4
      #x0fffffff
      (:prefer-separate-cond))
    (define-arm-instruction uuo-suspend-now ()
-     #x07f005f0
+     #x07f004f05
      #x0fffffff
      (:prefer-separate-cond))
-
 ;;; Misc format
    (define-arm-instruction uuo-error-reg-not-lisptag (:uuoA :uuo-unary)
@@ -943,4 +942,6 @@
                      (set-field-value instruction (byte 4 8) (ldb (byte 4 4) value)))))))
     (set-addressing-mode instruction mode constant-index))))
+
+
         
                              
@@ -1339,10 +1340,8 @@
     (let* ((p (position r vinsn-params)))
       (if p
-        (progn
-          (vector-push-extend (encode-vinsn-field-type :reglist-bit)
-                              field-types)
-          (vector-push-extend p field-values))
+        (add-avi-operand avi (encode-vinsn-field-type :reglist-bit) p)
         (let* ((bit (need-arm-gpr r)))
-          (setq opcode (logior opcode (ash 1 bit))))))))
+          (setf (avi-opcode avi)
+                (logior (avi-opcode avi) (ash 1 bit))))))))
 
 (defun vinsn-parse-rnw-operand (avi value vinsn-params)
