Changeset 5341


Ignore:
Timestamp:
Oct 13, 2006, 3:54:29 AM (18 years ago)
Author:
Gary Byers
Message:

Use new NUMCMP operator.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/nx1.lisp

    r5216 r5341  
    208208(defnx1 nx1-ccEQ-unaryop ((characterp)  (endp) (consp) (base-char-p)) (arg)
    209209  (make-acode (%nx1-default-operator) (nx1-immediate :EQ) (nx1-form arg)))
    210 
    211 
    212 
    213210
    214211
     
    595592  (let* ((op *nx-sfname*)
    596593         (both-fixnums (nx-binary-fixnum-op-p num1 num2 env t))
    597         (both-natural (nx-binary-natural-op-p num1 num2 env ))
     594        (both-natural (nx-binary-natural-op-p num1 num2 env ))
    598595         (both-double-floats
    599596          (let* ((dfloat-1 (nx-form-typep num1 'double-float env))
     
    613610       (if both-fixnums
    614611         (%nx1-operator %i<>)
    615         (if both-natural
    616            (%nx1-operator %natural<>)
    617            (if both-double-floats
    618              (%nx1-operator double-float-compare)
    619              (%nx1-operator short-float-compare))))
     612        (if both-natural
     613           (%nx1-operator %natural<>)
     614           (if both-double-floats
     615             (%nx1-operator double-float-compare)
     616             (%nx1-operator short-float-compare))))
    620617       (make-acode
    621618        (%nx1-operator immediate)
     
    629626       (nx1-form num1)
    630627       (nx1-form num2))
    631       (nx1-treat-as-call whole))))
     628      (make-acode (%nx1-operator numcmp)
     629                  (make-acode
     630                   (%nx1-operator immediate)
     631                   (if (eq op '<-2)
     632                     :LT
     633                     (if (eq op '>=-2)
     634                       :GE
     635                       (if (eq op '<=-2)
     636                         :LE
     637                         :GT))))
     638                  (nx1-form num1)
     639                  (nx1-form num2)))))
    632640
    633641(defnx1 nx1-num= ((=-2) (/=-2)) (&whole whole &environment env num1 num2 )
     
    673681           (nx1-form num1)
    674682           (nx1-form num2))
    675           (nx1-treat-as-call whole))))))
     683          (make-acode (%nx1-operator numcmp)
     684                      (make-acode
     685                       (%nx1-operator immediate)     
     686                       (if (eq op '=-2)
     687                         :EQ
     688                         :NE))
     689                      (nx1-form num1)
     690                      (nx1-form num2)))))))
    676691             
    677692
Note: See TracChangeset for help on using the changeset viewer.