Specialised VOPs for EQ of fixnum values on x86oids
authorPaul Khuong <pvk@pvk.ca>
Wed, 22 May 2013 18:17:23 +0000 (14:17 -0400)
committerPaul Khuong <pvk@pvk.ca>
Wed, 22 May 2013 18:17:23 +0000 (14:17 -0400)
 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.

src/compiler/x86-64/pred.lisp
src/compiler/x86/pred.lisp

index e66a11d..11eab96 100644 (file)
                 (: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)
index 7be691e..c041603 100644 (file)
                 (: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)