Changeset 13996


Ignore:
Timestamp:
Jul 21, 2010, 4:00:48 AM (9 years ago)
Author:
gb
Message:

UUO-ERROR-FPU-EXCEPTION.
Parse FPUX operands (fpscr, etc.) in vinsns.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/compiler/ARM/arm-asm.lisp

    r13981 r13996  
    284284   (define-arm-instruction uuo-eep-unresolved (:uuoA :uuoB)
    285285     #x07f400ff
     286     #x0fff00ff
     287     (:prefer-separate-cond))
     288   (define-arm-instruction uuo-fpu-exception (:uuoA :uuoB)
     289     #x07f500ff
    286290     #x0fff00ff
    287291     (:prefer-separate-cond))
     
    16291633      vinsn-parse-@rn-operand
    16301634      vinsn-parse-uuoc-operand
     1635      vinsn-parse-fpux-operand
    16311636      ))
    16321637
     
    18151820(defun vinsn-parse-uuoC-operand (avi value vinsn-params)
    18161821  (vinsn-arg-or-gpr avi value vinsn-params (encode-vinsn-field-type :uuoC) (byte 4 16)))
     1822
     1823(defun vinsn-parse-fpux-operand (avi value vinsn-params)
     1824  (declare (ignore vinsn-params))
     1825  (let* ((regno (if (typep value '(unsigned-byte 4))
     1826                  value
     1827                  (ecase (keywordize value)
     1828                    (:fpsid 0)
     1829                    (:fpscr 1)
     1830                    (:fpexc 8)))))
     1831    (set-avi-opcode-field avi (byte 4 16) regno)))
    18171832
    18181833(defun vinsn-parse-rm-operand (avi value vinsn-params)
Note: See TracChangeset for help on using the changeset viewer.