From 646c3e321d0a05230a7f5815b92ecaab70c3bdaa Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Sat, 18 Oct 1997 04:09:50 +0000
Subject: [PATCH] Add the FSTPD instruction.

---
 compiler/x86/insts.lisp | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/compiler/x86/insts.lisp b/compiler/x86/insts.lisp
index f3d2ff48c..a175126b2 100644
--- a/compiler/x86/insts.lisp
+++ b/compiler/x86/insts.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/insts.lisp,v 1.10 1997/09/29 16:51:18 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/insts.lisp,v 1.11 1997/10/18 04:09:50 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -2434,7 +2434,6 @@
 ;;;
 (define-instruction fstp (segment dest)
   (:printer floating-point ((op '(#b001 #b011))))
-  (:printer floating-point-fp ((op '(#b101 #b011))))
   (:emitter 
    (cond ((fp-reg-tn-p dest)
 	  (emit-byte segment #b11011101)
@@ -2443,6 +2442,19 @@
 	  (emit-byte segment #b11011001)
 	  (emit-fp-op segment dest #b011)))))
 ;;;
+;;; store double from st(0) and pop
+;;;
+(define-instruction fstpd (segment dest)
+  (:printer floating-point ((op '(#b101 #b011))))
+  (:printer floating-point-fp ((op '(#b101 #b011))))
+  (:emitter 
+   (cond ((fp-reg-tn-p dest)
+	  (emit-byte segment #b11011101)
+	  (emit-fp-op segment dest #b011))
+	 (t
+	  (emit-byte segment #b11011101)
+	  (emit-fp-op segment dest #b011)))))
+;;;
 ;;; decrement stack-top pointer
 ;;;
 (define-instruction fdecstp (segment)
-- 
GitLab