X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fpred.lisp;h=7be691e9e2414da7895535c7701f02a5ab557d16;hb=09f925d42d072d74c6977cc52e3ebf36135d2e15;hp=da77d6fe0cab9cb2db8a0c39453a86d44622c86a;hpb=1d68d81c3022715f83faeff6ccc9836975783462;p=sbcl.git diff --git a/src/compiler/x86/pred.lisp b/src/compiler/x86/pred.lisp index da77d6f..7be691e 100644 --- a/src/compiler/x86/pred.lisp +++ b/src/compiler/x86/pred.lisp @@ -177,7 +177,7 @@ (:info) (:policy :fast-safe) (:translate eq) - (:generator 3 + (:generator 8 (let ((x-val (encode-value-if-immediate x)) (y-val (encode-value-if-immediate y))) (cond @@ -189,3 +189,13 @@ ((sc-is x immediate) (inst cmp y x-val)) (t (inst cmp x y-val)))))) + +(macrolet ((def (eq-name eql-name) + `(define-vop (,eq-name ,eql-name) + (:translate eq)))) + (def fast-if-eq-character fast-char=/character) + (def fast-if-eq-character/c fast-char=/character/c) + (def fast-if-eq/signed fast-if-eql/signed) + (def fast-if-eq-c/signed fast-if-eql-c/signed) + (def fast-if-eq/unsigned fast-if-eql/unsigned) + (def fast-if-eq-c/unsigned fast-if-eql-c/unsigned))