Changeset 5504
- Timestamp:
- Nov 7, 2006, 3:12:52 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/ccl/compiler/PPC/ppc2.lisp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/compiler/PPC/ppc2.lisp
r5501 r5504 1315 1315 (is-32-bit (member type-keyword (arch::target-32-bit-ivector-types arch))) 1316 1316 (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))) 1318 1318 (vreg-class (hard-regspec-class vreg)) 1319 1319 (vreg-mode … … 1675 1675 (is-32-bit (member type-keyword (arch::target-32-bit-ivector-types arch))) 1676 1676 (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))) 1678 1678 (vreg-class (if vreg (hard-regspec-class vreg))) 1679 1679 (vreg-mode (if (or (eql vreg-class hard-reg-class-gpr) … … 1772 1772 (is-32-bit (member type-keyword (arch::target-32-bit-ivector-types arch))) 1773 1773 (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))) 1775 1775 (result-is-node-gpr (and (eql (hard-regspec-class result-reg) 1776 1776 hard-reg-class-gpr) … … 1870 1870 (is-32-bit (member type-keyword (arch::target-32-bit-ivector-types arch))) 1871 1871 (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)))) 1873 1873 (cond ((and is-node node-value-needs-memoization) 1874 1874 (unless (and (eql (hard-regspec-value src) ppc::arg_x) … … 2008 2008 (unscaled-idx ($ ppc::arg_y)) 2009 2009 (result-reg ($ ppc::arg_z))) 2010 (cond (needs-memoization2011 (ppc2-three-targeted-reg-forms seg2012 vector src2013 index unscaled-idx2014 value result-reg))2015 (t2016 (setq result-reg (ppc2-target-reg-for-aset vreg type-keyword))2017 (ppc2-three-targeted-reg-forms seg2018 vector src2019 index unscaled-idx2020 value result-reg)))2021 (when safe2022 (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-fixnum2031 (! 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))))) 2034 2034 2035 2035
Note:
See TracChangeset
for help on using the changeset viewer.
