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 3c88c09556da4e0f797dc90beba16c76ac972c26 (commit) from ba036ec2f58f8bdd49a3807e32e9f48f72afb133 (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 3c88c09556da4e0f797dc90beba16c76ac972c26 Author: Raymond Toy toy.raymond@gmail.com Date: Sat Feb 23 08:17:19 2013 -0800
Oops. Use the pentium version of the log1p vop and remove the other one.
diff --git a/src/compiler/x86/float.lisp b/src/compiler/x86/float.lisp index 4d2ea5e..f8f57e6 100644 --- a/src/compiler/x86/float.lisp +++ b/src/compiler/x86/float.lisp @@ -3290,59 +3290,6 @@ (unless (zerop (tn-offset r)) (inst fstd r))))
-(define-vop (flog1p) - (:translate %log1p) - (:args (x :scs (double-reg) :to :result)) - (:temporary (:sc double-reg :offset fr0-offset - :from :argument :to :result) fr0) - (:temporary (:sc double-reg :offset fr1-offset - :from :argument :to :result) fr1) - (:temporary (:sc word-reg :offset eax-offset :from :eval) temp) - (:results (y :scs (double-reg))) - (:arg-types double-float) - (:result-types double-float) - (:policy :fast-safe) - (:guard (not (backend-featurep :sse2))) - (:note _N"inline log1p function") - (:ignore temp) - (:generator 5 - ;; x is in a FP reg, not fr0, fr1. - (fp-pop) - (fp-pop) - (inst fldd (make-random-tn :kind :normal - :sc (sc-or-lose 'double-reg *backend*) - :offset (- (tn-offset x) 2))) - ;; Check the range - (inst push #x3e947ae1) ; Constant 0.29 - (inst fabs) - (inst fld (make-ea :dword :base esp-tn)) - (inst fcompp) - (inst add esp-tn 4) - (inst fnstsw) ; status word to ax - (inst and ah-tn #x45) - (inst jmp :z WITHIN-RANGE) - ;; Out of range for fyl2xp1. - (inst fld1) - (inst faddd (make-random-tn :kind :normal - :sc (sc-or-lose 'double-reg *backend*) - :offset (- (tn-offset x) 1))) - (inst fldln2) - (inst fxch fr1) - (inst fyl2x) - (inst jmp DONE) - - WITHIN-RANGE - (inst fldln2) - (inst fldd (make-random-tn :kind :normal - :sc (sc-or-lose 'double-reg *backend*) - :offset (- (tn-offset x) 1))) - (inst fyl2xp1) - DONE - (inst fld fr0) - (case (tn-offset y) - ((0 1)) - (t (inst fstd y))))) - ;;; The Pentium has a less restricted implementation of the fyl2xp1 ;;; instruction and a range check can be avoided. (define-vop (flog1p-pentium)
-----------------------------------------------------------------------
Summary of changes: src/compiler/x86/float.lisp | 53 ------------------------------------------- 1 files changed, 0 insertions(+), 53 deletions(-)
hooks/post-receive