Changeset 14900


Ignore:
Timestamp:
Jul 21, 2011, 5:57:52 PM (8 years ago)
Author:
gb
Message:

Propagate r14893 to 1.7 branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/1.7/source/compiler/nx2.lisp

    r14780 r14900  
    300300
    301301(defun acode-constant-fold-binop (seg vreg xfer x y function)
    302   (multiple-value-bind (x-p const-x) (acode-constant-p x)
     302  (multiple-value-bind (const-x x-p) (acode-constant-p x)
    303303    (when x-p
    304       (multiple-value-bind (y-p const-y) (acode-constant-p y)
     304      (multiple-value-bind (const-y y-p) (acode-constant-p y)
    305305        (when y-p
    306306          (let* ((result (ignore-errors (funcall function const-x const-y))))
     
    624624                 t)
    625625                ((and (eql (logcount f1) 1)
     626                      (> f1 0)
    626627                      (acode-form-typep num2 *nx-target-fixnum-type* trust-decls))
    627628                 (backend-use-operator (%nx1-operator ash)
     
    639640                 (backend-apply-acode num1 seg vreg xfer)
    640641                 t)
    641                 ((and (eql (logcount f2) 1) (acode-form-typep num1 *nx-target-fixnum-type* trust-decls))
     642                ((and (eql (logcount f2) 1)
     643                      (> f2 0)
     644                      (acode-form-typep num1 *nx-target-fixnum-type* trust-decls))
    642645                 (backend-use-operator (%nx1-operator ash)
    643646                                       seg
Note: See TracChangeset for help on using the changeset viewer.