From e7e01cb14c4e55374b43fcb70e943e0a9e064081 Mon Sep 17 00:00:00 2001 From: dtc <dtc> Date: Sun, 15 Feb 1998 20:24:43 +0000 Subject: [PATCH] Add the extended precision load and store instructions FLDL and FSTPL. --- compiler/x86/insts.lisp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/compiler/x86/insts.lisp b/compiler/x86/insts.lisp index 9712ea33b..a9b70f427 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.14 1998/01/29 07:15:40 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/insts.lisp,v 1.15 1998/02/15 20:24:43 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -2083,6 +2083,15 @@ (emit-byte segment #b11011101)) (emit-fp-op segment source #b000))) +;;; +;;; load long to st(0) +;;; +(define-instruction fldl (segment source) + (:printer floating-point ((op '(#b011 #b101)))) + (:emitter + (emit-byte segment #b11011011) + (emit-fp-op segment source #b101))) + ;;; ;;; store single from st(0) ;;; @@ -2456,6 +2465,15 @@ (emit-byte segment #b11011101) (emit-fp-op segment dest #b011))))) ;;; +;;; store long from st(0) and pop +;;; +(define-instruction fstpl (segment dest) + (:printer floating-point ((op '(#b011 #b111)))) + (:emitter + (emit-byte segment #b11011011) + (emit-fp-op segment dest #b111))) + +;;; ;;; decrement stack-top pointer ;;; (define-instruction fdecstp (segment) -- GitLab