Changeset 256
- Timestamp:
- Jan 10, 2004, 10:14:29 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/compiler/PPC/ppc2.lisp (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/compiler/PPC/ppc2.lisp
r203 r256 1374 1374 (! double->heap target 0)) 1375 1375 (if (and index-known-fixnum (<= index-known-fixnum ppc32::max-1-bit-constant-index)) 1376 (! misc-ref-c-bit [fixnum]target src index-known-fixnum)1376 (! misc-ref-c-bit-fixnum target src index-known-fixnum) 1377 1377 (with-imm-temps 1378 1378 () (word-index bitnum dest) … … 1383 1383 (! scale-1bit-misc-index word-index bitnum unscaled-idx)) 1384 1384 (! misc-ref-u32 dest src word-index) 1385 (! extract-variable-bit [fixnum]target dest bitnum))))))))1385 (! extract-variable-bit-fixnum target dest bitnum)))))))) 1386 1386 (^)))))))))) 1387 1387 … … 3426 3426 ; If "value-first-p" is true and both "offset" and "val" need to be 3427 3427 ; evaluated, evaluate "val" before evaluating "offset". 3428 (defun ppc2-%immediate-set-ptr (seg vreg xfer derefptr offset val value-first-p)3428 (defun ppc2-%immediate-set-ptr (seg vreg xfer ptr offset val value-first-p) 3429 3429 (with-ppc-local-vinsn-macros (seg vreg xfer) 3430 3430 (let* ((intval (acode-absolute-ptr-p val)) … … 3466 3466 (setq val-target ppc::rzero) 3467 3467 (ppc2-lwi seg val-target intval)) 3468 (if deref3469 (! mem-ref-c-fullword ptr-reg ptr-reg 0))3470 3468 (! mem-set-c-fullword val-target ptr-reg offval) 3471 3469 (if for-value … … 3478 3476 (! temp-pop-unboxed-word ptr-reg) 3479 3477 (ppc2-close-undo) 3480 (if deref3481 (! mem-ref-c-fullword ptr-reg ptr-reg 0))3482 3478 (! mem-set-c-fullword address ptr-reg offval) 3483 3479 (if for-value … … 3558 3554 xval-reg address 3559 3555 node-arg_z nil))))))) 3560 (if deref3561 (! mem-ref-c-fullword xptr-reg xptr-reg 0))3562 3556 (! mem-set-fullword xval-reg xptr-reg xoff-reg) 3563 3557 (when for-value … … 3590 3584 (with-ppc-local-vinsn-macros (seg vreg xfer) 3591 3585 (if (eql 0 (%ilogand #xf bits)) 3592 (ppc2-%immediate-set-ptr seg vreg xfer (%ilogbitp 4 bits)ptr offset val value-first-p)3586 (ppc2-%immediate-set-ptr seg vreg xfer ptr offset val value-first-p) 3593 3587 (let* ((deref (%ilogbitp 4 bits)) 3594 3588 (size … … 5233 5227 (progn 5234 5228 (ensuring-node-target (target vreg) 5235 (! extract-tag [fixnum]target (ppc2-one-untargeted-reg-form seg node ppc::arg_z)))5229 (! extract-tag-fixnum target (ppc2-one-untargeted-reg-form seg node ppc::arg_z))) 5236 5230 (^)))) 5237 5231 … … 5241 5235 (progn 5242 5236 (ensuring-node-target (target vreg) 5243 (! extract-fulltag [fixnum]target (ppc2-one-untargeted-reg-form seg node ppc::arg_z)))5237 (! extract-fulltag-fixnum target (ppc2-one-untargeted-reg-form seg node ppc::arg_z))) 5244 5238 (^)))) 5245 5239 … … 5250 5244 ppc::arg_y ppc::arg_z)))) 5251 5245 (ensuring-node-target (target vreg) 5252 (! extract-typecode [fixnum]target reg ))5246 (! extract-typecode-fixnum target reg )) 5253 5247 (^)))) 5254 5248 … … 5306 5300 (if vreg 5307 5301 (ensuring-node-target (target vreg) 5308 (! misc-element-count [fixnum]target misc-reg)))5302 (! misc-element-count-fixnum target misc-reg))) 5309 5303 (^))) 5310 5304 … … 6288 6282 (ppc2-one-targeted-reg-form seg ptr src-reg) 6289 6283 (if (node-reg-p vreg) 6290 (! mem-ref-c-bit [fixnum]vreg src-reg byte-index (logand 31 (+ bit-shift6284 (! mem-ref-c-bit-fixnum vreg src-reg byte-index (logand 31 (+ bit-shift 6291 6285 ppc32::fixnumshift))) 6292 6286 (with-imm-target () ;OK if src-reg & dest overlap … … 6307 6301 (ppc2-close-undo)) 6308 6302 (if (node-reg-p vreg) 6309 (! mem-ref-bit [fixnum]vreg src-reg offset-reg)6303 (! mem-ref-bit-fixnum vreg src-reg offset-reg) 6310 6304 (with-imm-target () 6311 6305 (dest :u8)
Note:
See TracChangeset
for help on using the changeset viewer.
