Changeset 6397 for branches/x8664-call


Ignore:
Timestamp:
May 3, 2007, 4:58:46 PM (13 years ago)
Author:
gb
Message:

FLOAT: arrrgh.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/compiler/optimizers.lisp

    r6177 r6397  
    17941794              (nx-form-typep number 'single-float env))
    17951795         `(the double-float (%single-to-double ,number)))
    1796         ((or (typep other 'single-float)
    1797              (null other-p))
     1796        ((and other-p (typep other 'single-float))
    17981797         `(the single-float (%short-float ,number)))
    17991798        ((typep other 'double-float)
    18001799         `(the double-float (%double-float ,number)))
     1800        ((null other-p)
     1801         (let* ((temp (gensym)))
     1802           `(let* ((,temp ,number))
     1803             (if (typep ,temp 'double-float)
     1804               ,temp
     1805               (the single-float (%short-float ,temp))))))
    18011806        (t call)))
    18021807
Note: See TracChangeset for help on using the changeset viewer.