From d6b7f4b33143640ba0b3a3482882d98ca3d19d49 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Mon, 17 Dec 1990 17:59:06 +0000
Subject: [PATCH] Added %unary-round/{single,double}-float VOPs.

---
 compiler/sparc/float.lisp | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/compiler/sparc/float.lisp b/compiler/sparc/float.lisp
index 39d0ea70e..7c0320c0c 100644
--- a/compiler/sparc/float.lisp
+++ b/compiler/sparc/float.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/float.lisp,v 1.3 1990/12/06 17:35:27 ram Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/float.lisp,v 1.4 1990/12/17 17:59:06 wlott Exp $
 ;;;
 ;;;    This file contains floating point support for the MIPS.
 ;;;
@@ -275,8 +275,8 @@
   (frob %double-float/single-float %double-float fstod
     single-reg single-float double-reg double-float))
 
-(macrolet ((frob (name from-sc from-type inst)
-	     `(define-vop (,name)
+(macrolet ((frob (trans from-sc from-type inst)
+	     `(define-vop (,(symbolicate trans "/" from-type))
 		(:args (x :scs (,from-sc) :target temp))
 		(:temporary (:from (:argument 0) :sc single-reg) temp)
 		(:temporary (:scs (signed-stack)) stack-temp)
@@ -284,7 +284,7 @@
 			     :load-if (not (sc-is y signed-stack))))
 		(:arg-types ,from-type)
 		(:result-types signed-num)
-		(:translate %unary-truncate)
+		(:translate ,trans)
 		(:policy :fast-safe)
 		(:note "inline float truncate")
 		(:vop-var vop)
@@ -301,8 +301,10 @@
 			   (* (tn-offset stack-temp) vm:word-bytes))
 		     (inst ld y (current-nfp-tn vop)
 			   (* (tn-offset stack-temp) vm:word-bytes))))))))
-  (frob %unary-truncate/single-float single-reg single-float fstoi)
-  (frob %unary-truncate/double-float double-reg double-float fdtoi))
+  (frob %unary-truncate single-reg single-float fstoi)
+  (frob %unary-truncate double-reg double-float fdtoi)
+  (frob %unary-round single-reg single-float fstoir)
+  (frob %unary-round double-reg double-float fdtoir))
 
 
 (define-vop (make-single-float)
-- 
GitLab