[Openmcl-cvs-notifications] r14957 - /trunk/source/compiler/ARM/arm-asm.lisp

gb at clozure.com gb at clozure.com
Mon Aug 29 19:37:50 CDT 2011


Author: gb
Date: Mon Aug 29 19:37:50 2011
New Revision: 14957

Log:
fldmiad definition: count operand is :DRCOUNT
PARSE-IMM16-OPERAND: allow quote/fixnum syntax.

Modified:
    trunk/source/compiler/ARM/arm-asm.lisp

Modified: trunk/source/compiler/ARM/arm-asm.lisp
=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/compiler/ARM/arm-asm.lisp (original)
+++ trunk/source/compiler/ARM/arm-asm.lisp Mon Aug 29 19:37:50 2011
@@ -823,7 +823,7 @@
      #x0cb00a00
      #x0fb00f00
      ())
-   (define-arm-instruction fldmiad (:dd :rnw :srcount)
+   (define-arm-instruction fldmiad (:dd :rnw :drcount)
      #x0cb00b00
      #x0fb00f00
      ())     =

@@ -1321,11 +1321,14 @@
 =

 (defun parse-imm16-operand (form instruction)
   (unless (and (consp form)
-               (eq (car form) :$)
+               (or (eq (car form) :$)
+                   (eq (car form) 'quote))
                (consp (cdr form))
                (null (cddr form)))
     (error "Bad 16-bit immediate operand: ~s" form))
   (let* ((val (eval (cadr form))))
+    (when (eq (car form) 'quote)
+      (setq val (ash val arm::fixnumshift)))
     (set-field-value instruction (byte 12 0) (ldb (byte 12 0) val))
     (set-field-value instruction (byte 4 16) (ldb (byte 4 12) val))))
     =




More information about the Openmcl-cvs-notifications mailing list