Changeset 12054
 Timestamp:
 May 14, 2009, 12:07:07 PM (10 years ago)
 Location:
 branches/working0711/ccl/compiler
 Files:

 3 edited
Legend:
 Unmodified
 Added
 Removed

branches/working0711/ccl/compiler/X86/x862.lisp
r12048 r12054 3345 3345 ;;; would vpop the first argument out of line.) 3346 3346 (defun x862twotargetedregforms (seg aform areg bform breg) 3347 (unless (typep areg 'lreg)3348 (warn "~s is not an lreg (1/2)" areg))3349 (unless (typep breg 'lreg)3350 (warn "~s is not an lreg (2/2)" breg))3351 3347 (let* ((avar (x862lexicalreferencep aform)) 3352 (atriv ( x862trivialp bform))3348 (atriv (and (x862trivialp bform) (nx2nodegprp breg))) 3353 3349 (aconst (and (not atriv) (or (x86sideeffectfreeformp aform) 3354 3350 (if avar (x862varnotsetbyformp avar bform))))) … … 3372 3368 (adest areg) 3373 3369 (bdest breg) 3374 (atriv ( x862trivialp bform))3370 (atriv (and (x862trivialp bform) (nx2nodegprp breg))) 3375 3371 (aconst (and (not atriv) (or (x86sideeffectfreeformp aform) 3376 3372 (if avar (x862varnotsetbyformp avar bform))))) … … 3390 3386 3391 3387 (defun x862threetargetedregforms (seg aform areg bform breg cform creg) 3392 (unless (typep areg 'lreg) 3393 (warn "~s is not an lreg (1/3)" areg)) 3394 (unless (typep breg 'lreg) 3395 (warn "~s is not an lreg (2/3)" breg)) 3396 (unless (typep creg 'lreg) 3397 (warn "~s is not an lreg (3/3)" creg)) 3398 (let* ((atriv (or (null aform) 3388 (let* ((bnode (nx2nodegprp breg)) 3389 (cnode (nx2nodegprp creg)) 3390 (atriv (or (null aform) 3399 3391 (and (x862trivialp bform) 3400 (x862trivialp cform)))) 3392 (x862trivialp cform) 3393 bnode 3394 cnode))) 3401 3395 (btriv (or (null bform) 3402 (x862trivialp cform))) 3396 (and (x862trivialp cform) 3397 cnode))) 3403 3398 (aconst (and (not atriv) 3404 3399 (or (x86sideeffectfreeformp aform) … … 3434 3429 3435 3430 (defun x862fourtargetedregforms (seg aform areg bform breg cform creg dform dreg) 3436 (unless (typep areg 'lreg) 3437 (warn "~s is not an lreg (1/4)" areg)) 3438 (unless (typep breg 'lreg) 3439 (warn "~s is not an lreg (2/4)" breg)) 3440 (unless (typep creg 'lreg) 3441 (warn "~s is not an lreg (3/4)" creg)) 3442 (unless (typep dreg 'lreg) 3443 (warn "~s is not an lreg (4/4)" dreg)) 3444 (let* ((atriv (or (null aform) 3431 (let* ((bnode (nx2nodegprp breg)) 3432 (cnode (nx2nodegprp creg)) 3433 (dnode (nx2nodegprp dreg)) 3434 (atriv (or (null aform) 3445 3435 (and (x862trivialp bform) 3446 3436 (x862trivialp cform) 3447 (x862trivialp dform)))) 3437 (x862trivialp dform) 3438 bnode 3439 cnode 3440 dnode))) 3448 3441 (btriv (or (null bform) 3449 3442 (and (x862trivialp cform) 3450 (x862trivialp dform)))) 3443 (x862trivialp dform) 3444 cnode 3445 dnode))) 3451 3446 (ctriv (or (null cform) 3452 (x862trivialp dform))) 3447 (and (x862trivialp dform) 3448 dnode))) 3453 3449 (aconst (and (not atriv) 3454 3450 (or (x86sideeffectfreeformp aform) … … 3498 3494 (x862onetargetedregform seg aform areg) 3499 3495 (x862elidepushes seg apushed (x862popregister seg areg)))) 3500 (values areg breg creg )))3496 (values areg breg creg dreg))) 3501 3497 3502 3498 (defun x862threeuntargetedregforms (seg aform areg bform breg cform creg) 3503 3499 (withx86localvinsnmacros (seg) 3504 (let* ((atriv (or (null aform) 3500 (let* ((bnode (nx2nodegprp breg)) 3501 (cnode (nx2nodegprp creg)) 3502 (atriv (or (null aform) 3505 3503 (and (x862trivialp bform) 3506 (x862trivialp cform)))) 3504 (x862trivialp cform) 3505 bnode 3506 cnode))) 3507 3507 (btriv (or (null bform) 3508 (x862trivialp cform))) 3508 (and (x862trivialp cform) 3509 cnode))) 3509 3510 (aconst (and (not atriv) 3510 3511 (or (x86sideeffectfreeformp aform) … … 3543 3544 3544 3545 (defun x862fouruntargetedregforms (seg aform areg bform breg cform creg dform dreg) 3545 (let* ((atriv (or (null aform) 3546 (let* ((bnode (nx2nodegprp breg)) 3547 (cnode (nx2nodegprp creg)) 3548 (dnode (nx2nodegprp dreg)) 3549 (atriv (or (null aform) 3546 3550 (and (x862trivialp bform) 3547 3551 (x862trivialp cform) 3548 (x862trivialp dform)))) 3552 (x862trivialp dform) 3553 bnode 3554 cnode 3555 dnode))) 3549 3556 (btriv (or (null bform) 3550 3557 (and (x862trivialp cform) 3551 (x862trivialp dform)))) 3558 (x862trivialp dform) 3559 cnode 3560 dnode))) 3552 3561 (ctriv (or (null cform) 3553 3562 (x862trivialp dform))) 
branches/working0711/ccl/compiler/nx0.lisp
r12052 r12054 608 608 (:signed64bitvector arch::errorobjectnotsimplearrays642d) 609 609 (:doublefloatvector arch::errorobjectnotsimplearraydoublefloat2d) 610 (:singlefloatvector arch::errorobjectnotsimplearray doublefloat2d)610 (:singlefloatvector arch::errorobjectnotsimplearraysinglefloat2d) 611 611 (:fixnumvector arch::errorobjectnotsimplearrayfixnum2d))) 612 612 … … 625 625 (:signed64bitvector arch::errorobjectnotsimplearrays643d) 626 626 (:doublefloatvector arch::errorobjectnotsimplearraydoublefloat3d) 627 (:singlefloatvector arch::errorobjectnotsimplearray doublefloat3d)627 (:singlefloatvector arch::errorobjectnotsimplearraysinglefloat3d) 628 628 (:fixnumvector arch::errorobjectnotsimplearrayfixnum3d))) 629 629 … … 1965 1965 (when (nx1checkformatcall (car somedef) (cdr somedef) env) 1966 1966 (setq whined t))) 1967 (when (and argsp (setq somedef (or lexenvdef defenvdef globaldef)))1967 (when (and argsp (setq somedef (or lexenvdef defenvdef (if (typep globaldef 'function) globaldef)))) 1968 1968 (multiplevaluebind (deftype reason) 1969 1969 (nx1checkcallargs somedef args spreadp) 
branches/working0711/ccl/compiler/nx2.lisp
r11412 r12054 174 174 (notsetinformlist (car subforms)) 175 175 (notsetinformlist (cadr subforms)))))))))) 176 177 (defun nx2nodegprp (reg) 178 (and reg 179 (eql (hardregspecclass reg) hardregclassgpr) 180 (eql (getregspecmode reg) hardregclassgprmodenode)))
Note: See TracChangeset
for help on using the changeset viewer.