Index: /trunk/source/compiler/ARM/arm2.lisp
===================================================================
--- /trunk/source/compiler/ARM/arm2.lisp	(revision 15015)
+++ /trunk/source/compiler/ARM/arm2.lisp	(revision 15016)
@@ -1842,5 +1842,9 @@
           (when safe      
             (when (typep safe 'fixnum)
-              (with-node-target (src unscaled-i unscaled-j unscaled-k val-reg) expected
+              (let* ((expected (if constidx
+                                 (with-node-target (src val-reg) expected
+                                   expected)
+                                 (with-node-target (src unscaled-i unscaled-j unscaled-k val-reg) expected
+                                   expected))))
                 (! lri expected (ash (dpb safe target::arrayH.flags-cell-subtag-byte
                                           (ash 1 $arh_simple_bit))
@@ -1949,5 +1953,9 @@
       (when safe        
         (when (typep safe 'fixnum)
-          (with-node-target (src unscaled-i unscaled-j unscaled-k) expected
+          (let* ((expected (if constidx
+                             (with-node-target (src) expected
+                               expected)
+                             (with-node-target (src unscaled-i unscaled-j unscaled-k) expected
+                               expected))))
             (! lri expected (ash (dpb safe target::arrayH.flags-cell-subtag-byte
                                       (ash 1 $arh_simple_bit))
