From: Paul Khuong Date: Wed, 22 May 2013 18:17:23 +0000 (-0400) Subject: Specialised VOPs for EQ of fixnum values on x86oids X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=2372ff8da6e1099e8840b0815d75c414fff2f302;hp=ab705efcc1d020c427e63349275388a972617385;p=sbcl.git Specialised VOPs for EQ of fixnum values on x86oids Steal fixnum EQL VOPs to implement EQ, like we already do for characters, words and signed-words: otherwise they're converted as signed-word EQ. --- diff --git a/src/compiler/x86-64/pred.lisp b/src/compiler/x86-64/pred.lisp index e66a11d..11eab96 100644 --- a/src/compiler/x86-64/pred.lisp +++ b/src/compiler/x86-64/pred.lisp @@ -272,6 +272,8 @@ (:translate eq)))) (def fast-if-eq-character fast-char=/character) (def fast-if-eq-character/c fast-char=/character/c) + (def fast-if-eq-fixnum fast-eql/fixnum) + (def fast-if-eq-fixnum/x fast-eql-c/fixnum) (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) diff --git a/src/compiler/x86/pred.lisp b/src/compiler/x86/pred.lisp index 7be691e..c041603 100644 --- a/src/compiler/x86/pred.lisp +++ b/src/compiler/x86/pred.lisp @@ -195,6 +195,8 @@ (:translate eq)))) (def fast-if-eq-character fast-char=/character) (def fast-if-eq-character/c fast-char=/character/c) + (def fast-if-eq-fixnum fast-eql/fixnum) + (def fast-if-eq-fixnum/x fast-eql-c/fixnum) (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)