Changeset 6258


Ignore:
Timestamp:
Apr 12, 2007, 12:20:56 AM (18 years ago)
Author:
Gary Byers
Message:

(SETF (AREF ...) ...) of two-dimensional arrays: need to target specific
registers if array has element type T.

Location:
trunk/ccl/compiler
Files:
2 edited

Legend:

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

    r6171 r6258  
    15691569            (ppc2-two-targeted-reg-forms seg array ($ ppc::temp0) new val-reg))
    15701570          (multiple-value-setq (src unscaled-i unscaled-j val-reg)
     1571            (if needs-memoization
     1572              (progn
     1573                (ppc2-four-untargeted-reg-forms seg
     1574                                                array ($ ppc::temp0)
     1575                                                i ($ ppc::arg_x)
     1576                                                j ($ ppc::arg_y)
     1577                                                new val-reg)
     1578                (values ($ ppc::temp0) ($ ppc::arg_x) ($ ppc::arg_y) ($ ppc::arg_z)))
    15711579            (ppc2-four-untargeted-reg-forms seg
    15721580                                            array ($ ppc::temp0)
    15731581                                            i ($ ppc::arg_x)
    15741582                                            j ($ ppc::arg_y)
    1575                                             new val-reg)))
     1583                                            new val-reg))))
    15761584        (when safe     
    15771585          (when (typep safe 'fixnum)
  • trunk/ccl/compiler/X86/x862.lisp

    r6173 r6258  
    16481648            (x862-two-targeted-reg-forms seg array ($ x8664::temp0) new val-reg))
    16491649          (multiple-value-setq (src unscaled-i unscaled-j val-reg)
    1650             (x862-four-untargeted-reg-forms seg
    1651                                             array ($ x8664::temp0)
    1652                                             i ($ x8664::arg_x)
    1653                                             j ($ x8664::arg_y)
    1654                                             new val-reg)))
     1650            (if needs-memoization
     1651              (progn
     1652                (x862-four-targeted-reg-forms seg
     1653                                              array ($ x8664::temp0)
     1654                                              i ($ x8664::arg_x)
     1655                                              j ($ x8664::arg_y)
     1656                                              new val-reg)
     1657                (values ($ x8664::temp0) ($ x8664::arg_x) ($ x8664::arg_y) ($ x8664::arg_z)))
     1658              (x862-four-untargeted-reg-forms seg
     1659                                              array ($ x8664::temp0)
     1660                                              i ($ x8664::arg_x)
     1661                                              j ($ x8664::arg_y)
     1662                                              new val-reg))))
    16551663        (when safe     
    16561664          (when (typep safe 'fixnum)
Note: See TracChangeset for help on using the changeset viewer.