Changeset 5971


Ignore:
Timestamp:
Mar 2, 2007, 4:03:28 AM (18 years ago)
Author:
Gary Byers
Message:

Do the / * thing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/X86/x862.lisp

    r5958 r5971  
    28882888         (aconst (and (not atriv) (or (x86-side-effect-free-form-p aform)
    28892889                                      (if avar (x862-var-not-set-by-form-p avar bform)))))
    2890          (apushed (not (or atriv aconst))))
     2890         apushed)
    28912891    (progn
    28922892      (unless aconst
     
    66366636                           form1
    66376637                           form2)
    6638         (x862-binary-builtin seg vreg xfer '/-2 form1 form2)))))
     6638                (let* ((f2 (acode-fixnum-form-p form2))
     6639               (unwrapped (acode-unwrapped-form form1))
     6640               (f1 nil)
     6641               (f1/f2 nil))
     6642          (if (and f2
     6643                   (not (zerop f2))
     6644                   (acode-p unwrapped)
     6645                   (or (eq (acode-operator unwrapped) (%nx1-operator mul2))
     6646                       (eq (acode-operator unwrapped) (%nx1-operator %i*)))
     6647                   (setq f1 (acode-fixnum-form-p (cadr unwrapped)))
     6648                   (typep (setq f1/f2 (/ f1 f2)) 'fixnum))
     6649            (x862-use-operator (%nx1-operator mul2)
     6650                               seg
     6651                               vreg
     6652                               xfer
     6653                               (make-acode (%nx1-operator fixnum) f1/f2)
     6654                               (caddr unwrapped))
     6655            (x862-binary-builtin seg vreg xfer '/-2 form1 form2)))))))
    66396656
    66406657(defx862 x862-logbitp logbitp (seg vreg xfer bitnum int)
Note: See TracChangeset for help on using the changeset viewer.