From 4a9970bda83f506083bd1f2ef67a66fbf913643f Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Thu, 2 Aug 1990 03:42:45 +0000
Subject: [PATCH] Oops, can't use the move macro to move floating point values.
  You have to test location= yourself and use the move instruction.

---
 compiler/mips/array.lisp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/compiler/mips/array.lisp b/compiler/mips/array.lisp
index 587b29203..6947c20f8 100644
--- a/compiler/mips/array.lisp
+++ b/compiler/mips/array.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/array.lisp,v 1.22 1990/08/02 03:28:43 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/array.lisp,v 1.23 1990/08/02 03:42:45 wlott Exp $
 ;;;
 ;;;    This file contains the MIPS definitions for array operations.
 ;;;
@@ -341,7 +341,8 @@
     (inst swc1 value lip
 	  (- (* vm:vector-data-offset vm:word-bytes)
 	     vm:other-pointer-type))
-    (move result value)))
+    (unless (location= result value)
+      (inst move :single result value))))
 
 (define-vop (data-vector-ref/simple-array-double-float)
   (:translate data-vector-ref)
@@ -384,7 +385,8 @@
 	  (+ (- (* vm:vector-data-offset vm:word-bytes)
 		vm:other-pointer-type)
 	     vm:word-bytes))
-    (move result value)))
+    (unless (location= result value)
+      (inst move :double result value))))
 
 
 
-- 
GitLab