From 2372ff8da6e1099e8840b0815d75c414fff2f302 Mon Sep 17 00:00:00 2001 From: Paul Khuong Date: Wed, 22 May 2013 14:17:23 -0400 Subject: [PATCH 1/1] 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. --- src/compiler/x86-64/pred.lisp | 2 ++ src/compiler/x86/pred.lisp | 2 ++ 2 files changed, 4 insertions(+) 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) -- 1.7.10.4