Changeset 14108 for branches


Ignore:
Timestamp:
Aug 2, 2010, 5:41:14 PM (9 years ago)
Author:
gb
Message:

arm-lapmacros: define LRI, which loads a 32-bit constant into a GPR via

movw/movt.

arm-numbers.lisp: use LRI in %MRG31K3P.
l1-init.lisp: *SAVE-SOURCE-LOCATIONS* T, for now.

Location:
branches/arm
Files:
3 edited

Legend:

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

    r14097 r14108  
    344344  `(str ,new-value (:@ ,vector (:$ (+ (* 4 ,index) arm::misc-data-offset)))))
    345345
     346;;; Load the low 32 bits of the integer constant VAL into REG, using movw/movt.
     347(defarmlapmacro lri (reg val)
     348  (let* ((high (ldb (byte 16 16) val))
     349         (low (ldb (byte 16 0) val)))
     350  `(progn
     351    (movw ,reg (:$ ,low))
     352    ,@(unless (zerop high)
     353       `((movt ,reg (:$ ,high)))))))
     354
    346355(defarmlapmacro load-subprim (reg spname)
    347356  `(mov ,reg (:$ ,(subprim-name->offset spname))))
  • branches/arm/level-0/ARM/arm-numbers.lisp

    r14104 r14108  
    247247    (add imm0 imm2 (:lsr imm0 (:$ 1)))
    248248
    249     (ldr imm2 (:= @m2))
     249    (lri imm2 2147462579)
    250250    (cmp imm0 imm2)
    251251    (subhi imm0 imm0 imm2)
     
    260260    (add imm1 imm2 (:lsr imm1 (:$ 1)))
    261261
    262     (ldr imm2 (:= @m2))
     262    (lri imm2 2147462579)
    263263    (cmp imm1 imm2)
    264264    (subhi imm1 imm1 imm2)
     
    286286    (bic imm2 imm2 (:$ #xe0000000))     ;avoid negative fixnums
    287287    (box-fixnum arg_z imm2)
    288     (bx lr))
    289  
    290   (:data)
    291   @m2
    292   (:word 2147462579))
     288    (bx lr)))
    293289
    294290; End of arm-numbers.lisp
  • branches/arm/level-1/l1-init.lisp

    r13897 r14108  
    266266(defparameter *save-definitions* nil)
    267267(defparameter *save-local-symbols* t)
    268 (defparameter *save-source-locations* #+arm-target nil #-arm-target T
     268(defparameter *save-source-locations* T
    269269  "Controls whether source location information is saved, both for definitions (names) and
    270270in function objects.
Note: See TracChangeset for help on using the changeset viewer.