Changeset 5504


Ignore:
Timestamp:
Nov 7, 2006, 3:12:52 AM (18 years ago)
Author:
Gary Byers
Message:

:signed-64-bit-vector is signed ...

File:
1 edited

Legend:

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

    r5501 r5504  
    13151315             (is-32-bit (member type-keyword (arch::target-32-bit-ivector-types arch)))
    13161316             (is-64-bit (member type-keyword (arch::target-64-bit-ivector-types arch)))
    1317              (is-signed (member type-keyword '(:signed-8-bit-vector :signed-16-bit-vector :signed-32-bit-vector :fixnum-vector)))
     1317             (is-signed (member type-keyword '(:signed-8-bit-vector :signed-16-bit-vector :signed-32-bit-vector :signed-64-bit-vector :fixnum-vector)))
    13181318             (vreg-class (hard-regspec-class vreg))
    13191319             (vreg-mode
     
    16751675         (is-32-bit (member type-keyword (arch::target-32-bit-ivector-types arch)))
    16761676         (is-64-bit (member type-keyword (arch::target-64-bit-ivector-types arch)))
    1677          (is-signed (member type-keyword '(:signed-8-bit-vector :signed-16-bit-vector :signed-32-bit-vector :fixnum-vector)))
     1677         (is-signed (member type-keyword '(:signed-8-bit-vector :signed-16-bit-vector :signed-32-bit-vector :signed-64-bit-vector :fixnum-vector)))
    16781678         (vreg-class (if vreg (hard-regspec-class vreg)))
    16791679         (vreg-mode (if (or (eql vreg-class hard-reg-class-gpr)
     
    17721772           (is-32-bit (member type-keyword (arch::target-32-bit-ivector-types arch)))
    17731773           (is-64-bit (member type-keyword (arch::target-64-bit-ivector-types arch)))
    1774            (is-signed (member type-keyword '(:signed-8-bit-vector :signed-16-bit-vector :signed-32-bit-vector :fixnum-vector)))
     1774           (is-signed (member type-keyword '(:signed-8-bit-vector :signed-16-bit-vector :signed-32-bit-vector :signed-64-bit-vector :fixnum-vector)))
    17751775           (result-is-node-gpr (and (eql (hard-regspec-class result-reg)
    17761776                                         hard-reg-class-gpr)
     
    18701870           (is-32-bit (member type-keyword (arch::target-32-bit-ivector-types arch)))
    18711871           (is-64-bit (member type-keyword (arch::target-64-bit-ivector-types arch)))
    1872            (is-signed (member type-keyword '(:signed-8-bit-vector :signed-16-bit-vector :signed-32-bit-vector :fixnum-vector))))
     1872           (is-signed (member type-keyword '(:signed-8-bit-vector :signed-16-bit-vector :signed-32-bit-vector :signed-64-bit-vector :fixnum-vector))))
    18731873      (cond ((and is-node node-value-needs-memoization)
    18741874             (unless (and (eql (hard-regspec-value src) ppc::arg_x)
     
    20082008             (unscaled-idx ($ ppc::arg_y))
    20092009             (result-reg ($ ppc::arg_z)))
    2010       (cond (needs-memoization
    2011              (ppc2-three-targeted-reg-forms seg
    2012                                             vector src
    2013                                             index unscaled-idx
    2014                                             value result-reg))
    2015             (t
    2016              (setq result-reg (ppc2-target-reg-for-aset vreg type-keyword))
    2017              (ppc2-three-targeted-reg-forms seg
    2018                                             vector src
    2019                                             index unscaled-idx
    2020                                             value result-reg)))
    2021       (when safe
    2022         (let* ((*available-backend-imm-temps* *available-backend-imm-temps*)
    2023                (value (if (eql (hard-regspec-class result-reg)
    2024                                hard-reg-class-gpr)
    2025                         (hard-regspec-value result-reg))))
    2026           (when (and value (logbitp value *available-backend-imm-temps*))
    2027             (setq *available-backend-imm-temps* (bitclr value *available-backend-imm-temps*)))
    2028           (if (typep safe 'fixnum)
    2029             (! trap-unless-typecode= src safe))
    2030           (unless index-known-fixnum
    2031             (! trap-unless-fixnum unscaled-idx))
    2032           (! check-misc-bound unscaled-idx src)))
    2033       (ppc2-vset1 seg vreg xfer type-keyword src unscaled-idx index-known-fixnum result-reg (ppc2-unboxed-reg-for-aset seg type-keyword result-reg safe constval) constval needs-memoization)))))
     2010        (cond (needs-memoization
     2011               (ppc2-three-targeted-reg-forms seg
     2012                                              vector src
     2013                                              index unscaled-idx
     2014                                              value result-reg))
     2015              (t
     2016               (setq result-reg (ppc2-target-reg-for-aset vreg type-keyword))
     2017               (ppc2-three-targeted-reg-forms seg
     2018                                              vector src
     2019                                              index unscaled-idx
     2020                                              value result-reg)))
     2021        (when safe
     2022          (let* ((*available-backend-imm-temps* *available-backend-imm-temps*)
     2023                 (value (if (eql (hard-regspec-class result-reg)
     2024                                 hard-reg-class-gpr)
     2025                          (hard-regspec-value result-reg))))
     2026            (when (and value (logbitp value *available-backend-imm-temps*))
     2027              (setq *available-backend-imm-temps* (bitclr value *available-backend-imm-temps*)))
     2028            (if (typep safe 'fixnum)
     2029              (! trap-unless-typecode= src safe))
     2030            (unless index-known-fixnum
     2031              (! trap-unless-fixnum unscaled-idx))
     2032            (! check-misc-bound unscaled-idx src)))
     2033        (ppc2-vset1 seg vreg xfer type-keyword src unscaled-idx index-known-fixnum result-reg (ppc2-unboxed-reg-for-aset seg type-keyword result-reg safe constval) constval needs-memoization)))))
    20342034
    20352035
Note: See TracChangeset for help on using the changeset viewer.