This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMU Common Lisp".
The branch, master has been updated via 82b30bfd476ba772e56547e05c30ba365f8db802 (commit) from b689cd596007d208b0eee38dfb1452a881e09072 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 82b30bfd476ba772e56547e05c30ba365f8db802 Author: Raymond Toy toy.raymond@gmail.com Date: Sat Jan 11 18:11:28 2014 -0800
Simplify the macros that generate the basic float operations.
diff --git a/src/compiler/x86/float-sse2.lisp b/src/compiler/x86/float-sse2.lisp index bd82461..bfa6df9 100644 --- a/src/compiler/x86/float-sse2.lisp +++ b/src/compiler/x86/float-sse2.lisp @@ -756,10 +756,11 @@ (frob single-float-op single-reg single-float) (frob double-float-op double-reg double-float))
-(macrolet ((generate (movinst opinst commutative rtype ea ea-stack) - (let ((stack-sc (if (eq rtype 'single-reg) - 'single-stack - 'double-stack))) +(macrolet ((generate (movinst opinst commutative arg-type) + (multiple-value-bind (rtype stack-sc ea ea-stack) + (if (eq arg-type 'single) + (values 'single-reg 'single-stack 'ea-for-sf-desc 'ea-for-sf-stack) + (values 'double-reg 'double-stack 'ea-for-df-desc 'ea-for-df-stack)) `(progn (cond ((location= x r) @@ -810,7 +811,7 @@ (:translate ,op) (:temporary (:sc single-reg) tmp) (:generator ,scost - (generate movss ,sinst ,commutative single-reg ea-for-sf-desc ea-for-sf-stack))) + (generate movss ,sinst ,commutative single))) (define-vop (,dname double-float-op) (:args (x :scs (double-reg) :target r) (y :scs (double-reg descriptor-reg) @@ -818,7 +819,7 @@ (:translate ,op) (:temporary (:sc double-reg) tmp) (:generator ,dcost - (generate movsd ,dinst ,commutative double-reg ea-for-df-desc ea-for-df-stack)))))) + (generate movsd ,dinst ,commutative double)))))) (frob + addss +/single-float 2 addsd +/double-float 2 t) (frob - subss -/single-float 2 subsd -/double-float 2 nil) (frob * mulss */single-float 4 mulsd */double-float 5 t)
-----------------------------------------------------------------------
Summary of changes: src/compiler/x86/float-sse2.lisp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
hooks/post-receive