CMUCL commit: src/compiler/x86 (float-sse2.lisp)
Raymond Toy
rtoy at common-lisp.net
Fri Jul 23 13:53:37 CEST 2010
Date: Friday, July 23, 2010 @ 07:53:37
Author: rtoy
Path: /project/cmucl/cvsroot/src/compiler/x86
Modified: float-sse2.lisp
In the vops realpart/complex-double-float and
realpart/complex-single-float, remove the unused temp register.
Change the xor temp temp instruction to xor r r instruction so that
the result has zeroes in the unused parts of the register.
Bug and fix from Alexander Donkov.
-----------------+
float-sse2.lisp | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
Index: src/compiler/x86/float-sse2.lisp
diff -u src/compiler/x86/float-sse2.lisp:1.15 src/compiler/x86/float-sse2.lisp:1.16
--- src/compiler/x86/float-sse2.lisp:1.15 Wed Jul 21 12:52:28 2010
+++ src/compiler/x86/float-sse2.lisp Fri Jul 23 07:53:37 2010
@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group at cs.cmu.edu.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/compiler/x86/float-sse2.lisp,v 1.15 2010-07-21 16:52:28 rtoy Exp $")
+ "$Header: /project/cmucl/cvsroot/src/compiler/x86/float-sse2.lisp,v 1.16 2010-07-23 11:53:37 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -1390,13 +1390,12 @@
(:arg-types complex-single-float)
(:results (r :scs (single-reg)))
(:result-types single-float)
- (:temporary (:sc complex-single-reg) temp)
(:policy :fast-safe)
(:note _N"complex float realpart")
(:generator 3
(sc-case x
(complex-single-reg
- (inst xorps temp temp) ; temp = 0|0|0|0
+ (inst xorps r r) ; temp = 0|0|0|0
(inst movss r x)) ; r = 0|0|0|x
(complex-single-stack
(inst movss r (ea-for-csf-real-stack x)))
@@ -1409,13 +1408,12 @@
(:arg-types complex-double-float)
(:results (r :scs (double-reg)))
(:result-types double-float)
- (:temporary (:sc complex-double-reg) temp)
(:policy :fast-safe)
(:note _N"complex float realpart")
(:generator 3
(sc-case x
(complex-double-reg
- (inst xorpd temp temp) ; temp = 0|0
+ (inst xorpd r r) ; temp = 0|0
(inst movsd r x)) ; r = 0|x
(complex-double-stack
(inst movsd r (ea-for-cdf-real-stack x)))
More information about the cmucl-commit
mailing list