[Openmcl-cvs-notifications] r14779 - /trunk/source/lisp-kernel/arm-spentry.s

rme at clozure.com rme at clozure.com
Mon May 2 23:06:49 CDT 2011


Author: rme
Date: Mon May  2 23:06:49 2011
New Revision: 14779

Log:
Try to make _SPaset3 work.

Modified:
    trunk/source/lisp-kernel/arm-spentry.s

Modified: trunk/source/lisp-kernel/arm-spentry.s
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/arm-spentry.s (original)
+++ trunk/source/lisp-kernel/arm-spentry.s Mon May  2 23:06:49 2011
@@ -2586,16 +2586,16 @@
         __(blo 3f)
         __(uuo_error_array_bounds(al,arg_x,temp1))
 3:              =

-        __(unbox_fixnum(imm1,imm1))
         __(cmp temp0,imm0)
         __(blo 4f)
         __(uuo_error_array_bounds(al,temp0,temp1))
 4:              =

-        __(mul arg_x,imm2,arg_x)
-        __(mul imm1,imm2,imm1)
-        __(mul temp0,imm1,temp0)
-        __(add arg_y,arg_y,arg_x)
-        __(add arg_y,arg_y,temp0)
+	__(unbox_fixnum(imm1,imm1))
+	__(unbox_fixnum(imm2,imm2))
+	/* (+ (* i dim1 dim2) (* j dim2) k) */
+	__(mul imm1,imm2,imm1)
+	__(mla imm2,arg_x,imm2,arg_y)	/* imm2 now a fixnum */
+	__(mla arg_y,temp0,imm1,imm2)
         __(mov arg_x,temp1)
 0:      __(ldr temp0,[arg_x,#arrayH.displacement])
         __(ldr arg_x,[arg_x,#arrayH.data_vector])



More information about the Openmcl-cvs-notifications mailing list