Changeset 5364


Ignore:
Timestamp:
Oct 17, 2006, 4:34:30 PM (18 years ago)
Author:
Gary Byers
Message:

ppc backend %aref1/%aset1: notice array type in acode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/PPC/ppc2.lisp

    r5356 r5364  
    64826482
    64836483(defppc2 ppc2-%aref1 %aref1 (seg vreg xfer v i)
    6484   (ppc2-binary-builtin seg vreg xfer '%aref1 v i))
     6484  (let* ((vtype (acode-form-type v t))
     6485         (atype (if vtype (specifier-type vtype)))
     6486         (keyword (if (and atype
     6487                           (not (array-ctype-complexp atype)))
     6488                    (funcall
     6489                        (arch::target-array-type-name-from-ctype-function
     6490                         (backend-target-arch *target-backend*))
     6491                        atype))))
     6492    (if keyword
     6493      (ppc2-vref  seg vreg xfer keyword v i (not *ppc2-reckless*))
     6494      (ppc2-binary-builtin seg vreg xfer '%aref1 v i))))
    64856495
    64866496(defppc2 ppc2-%aset1 aset1 (seg vreg xfer v i n)
    6487   (ppc2-ternary-builtin seg vreg xfer '%aset1 v i n))
     6497  (let* ((vtype (acode-form-type v t))
     6498         (atype (if vtype (specifier-type vtype)))
     6499         (keyword (if (and atype
     6500                           (not (array-ctype-complexp atype)))
     6501                    (funcall
     6502                        (arch::target-array-type-name-from-ctype-function
     6503                         (backend-target-arch *target-backend*))
     6504                        atype))))
     6505    (if keyword
     6506      (ppc2-vset seg vreg xfer keyword v i n (not *ppc2-reckless*))
     6507      (ppc2-ternary-builtin seg vreg xfer '%aset1 v i n))))
    64886508
    64896509(defppc2 ppc2-%i+ %i+ (seg vreg xfer form1 form2 &optional overflow)
Note: See TracChangeset for help on using the changeset viewer.