From 40190a1ba159417f49d5ca0b27e6156047e14a21 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Sun, 6 May 1990 05:24:32 +0000
Subject: [PATCH] Don't use ldb (byte 16 16) in the old compiler, 'cause it
 will compile wrong.  Use logand/ash yourself.

---
 compiler/mips/insts.lisp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/compiler/mips/insts.lisp b/compiler/mips/insts.lisp
index f5969ccfe..0392734b1 100644
--- a/compiler/mips/insts.lisp
+++ b/compiler/mips/insts.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/insts.lisp,v 1.15 1990/04/27 19:21:45 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/insts.lisp,v 1.16 1990/05/06 05:24:32 wlott Exp $
 ;;;
 ;;; Description of the MIPS architecture.
 ;;;
@@ -430,7 +430,9 @@
     ((signed-byte 16)
      (inst addu reg zero-tn value))
     ((or (signed-byte 32) (unsigned-byte 32))
-     (inst lui reg (ldb (byte 16 16) value))
+     (inst lui reg
+	   #+new-compiler (ldb (byte 16 16) value)
+	   #-new-compiler (logand #xffff (ash value -16)))
      (let ((low (ldb (byte 16 0) value)))
        (unless (zerop low)
 	 (inst or reg low))))
-- 
GitLab