Changeset 7338


Ignore:
Timestamp:
Oct 1, 2007, 8:18:21 PM (12 years ago)
Author:
rme
Message:

Conditionalize for X8632

Location:
branches/ia32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/nxenv.lisp

    r6176 r7338  
    2727
    2828#+ppc-target (require "PPCENV")
     29#+x8632-target (require "X8632ENV")
    2930#+x8664-target (require "X8664ENV")
    3031
  • branches/ia32/level-0/l0-array.lisp

    r7244 r7338  
    104104     unused))
    105105
     106#+x8632-target
     107(defconstant x8632::*immheader-array-types*
     108  '#(short-float
     109     (unsigned-byte 32)
     110     (signed-byte 32)
     111     fixnum
     112     character
     113     (unsigned-byte 8)
     114     (signed-byte 8)
     115     unused
     116     (unsigned-byte 16)
     117     (signed-byte 16)
     118     double-float
     119     bit))
     120
    106121#+x8664-target
    107122(progn
     
    183198             #+ppc64-target
    184199             (ash (the fixnum (logand subtag #x7f)) (- ppc64::nlowtagbits)))
     200      #+x8632-target
     201      (svref x8632::*immheader-array-types*
     202             (ash (the fixnum (- subtag x8632::min-cl-ivector-subtag))
     203                  (- x8632::ntagbits)))
    185204      #+x8664-target
    186205      (let* ((class (logand subtag x8664::fulltagmask))
     
    714733    (ash (the fixnum (+ 7 total-bits)) -3)))
    715734
     735#+x8632-target
     736(defun subtag-bytes (subtag element-count)
     737  (declare (fixnum subtag element-count))
     738  (unless (= #.x8632::fulltag-immheader (logand subtag #.x8632::fulltagmask))
     739    (error "Not an ivector subtag: ~s" subtag))
     740  (let* ((element-bit-shift
     741          (if (<= subtag x8632::max-32-bit-ivector-subtag)
     742            5
     743            (if (<= subtag x8632::max-8-bit-ivector-subtag)
     744              3
     745              (if (<= subtag x8632::max-16-bit-ivector-subtag)
     746                4
     747                (if (= subtag x8632::subtag-double-float-vector)
     748                  6
     749                  0)))))
     750         (total-bits (ash element-count element-bit-shift)))
     751    (ash (+ 7 total-bits) -3)))
     752
    716753#+x8664-target
    717754(defun subtag-bytes (subtag element-count)
Note: See TracChangeset for help on using the changeset viewer.