Skip to content
Snippets Groups Projects
Commit 548083da authored by rtoy's avatar rtoy
Browse files

MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT doesn't handle the case where the arg

and the result are both on the stack.  Fix this by turning off the
:LOAD-IF stuff so that we really have registers.
parent 139cb256
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/float.lisp,v 1.44 2006/07/19 02:54:31 rtoy Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/float.lisp,v 1.45 2007/03/28 04:21:34 rtoy Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -5110,11 +5110,17 @@ ...@@ -5110,11 +5110,17 @@
(define-vop (make-complex-double-double-float) (define-vop (make-complex-double-double-float)
(:translate complex) (:translate complex)
(:args (real :scs (double-double-reg) :target r (:args (real :scs (double-double-reg) :target r
:load-if (not (location= real r))) :load-if (not (location= real r))
)
(imag :scs (double-double-reg) :to :save)) (imag :scs (double-double-reg) :to :save))
(:arg-types double-double-float double-double-float) (:arg-types double-double-float double-double-float)
;; Enable the :load-if when the generator is fixed to handle the
;; case where the arg result is on the stack. If both the result
;; and the args are on the stack, we lose, because the code below
;; doesn't handle that.
(:results (r :scs (complex-double-double-reg) :from (:argument 0) (:results (r :scs (complex-double-double-reg) :from (:argument 0)
:load-if (not (sc-is r complex-double-double-stack)))) ;;:load-if (not (sc-is r complex-double-double-stack))
))
(:result-types complex-double-double-float) (:result-types complex-double-double-float)
(:note "inline complex double-double-float creation") (:note "inline complex double-double-float creation")
(:policy :fast-safe) (:policy :fast-safe)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment