From 40556cfdd2748c5b58f59d711267086378908356 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Thu, 27 Sep 1990 18:27:50 +0000
Subject: [PATCH] Changed the EQL transform to not give an efficency note when
 we know an arg is a FIXNUM, since there is a good implementation in that
 case.

---
 compiler/srctran.lisp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/compiler/srctran.lisp b/compiler/srctran.lisp
index bbb69f9b2..36f14806f 100644
--- a/compiler/srctran.lisp
+++ b/compiler/srctran.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.14 1990/09/25 10:22:43 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/srctran.lisp,v 1.15 1990/09/27 18:27:50 ram Exp $
 ;;;
 ;;;    This file contains macro-like source transformations which convert
 ;;; uses of certain functions into the canonical form desired within the
@@ -1043,6 +1043,8 @@
 ;;;    constant then we put it second.  If X is a subtype of Y, we put it
 ;;;    second.  These rules make it easier for the back end to match these
 ;;;    interesting cases.
+;;; -- If Y is a fixnum, then we quietly pass because the back end can handle
+;;;    that case, otherwise give an efficency note.
 ;;;
 (deftransform eql ((x y))
   (let ((x-type (continuation-type x))
@@ -1064,6 +1066,8 @@
 		    (and (csubtypep x-type y-type)
 			 (not (csubtypep y-type x-type)))))
 	   '(eql y x))
+	  ((csubtypep y-type (specifier-type 'fixnum))
+	   (give-up))
 	  (t
 	   (give-up "Not enough type information to open-code.")))))
 
-- 
GitLab