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