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 d3bc3ac7a83c9c06dabf37ebe9e781bcfcfa5518 (commit) via f94c7fc82bcfc0da0906ac64891f22e2eca169ae (commit) via 6bba234d4dc71255cf4b9c6a0d418147781c564b (commit) from 260d94f1a9057fb9ae592a0b7b898f881316f289 (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 d3bc3ac7a83c9c06dabf37ebe9e781bcfcfa5518 Author: Raymond Toy toy.raymond@gmail.com Date: Sun Apr 13 11:25:11 2014 -0700
Remove commented code and some redundant jmps.
diff --git a/src/lisp/x86-assem.S b/src/lisp/x86-assem.S index fd52d39..f3b4344 100644 --- a/src/lisp/x86-assem.S +++ b/src/lisp/x86-assem.S @@ -117,13 +117,6 @@ FUNCDEF(call_into_lisp) movl %esp,%ebp # establish new frame
/* Save the NPX state */ -#if 0 - fwait # Catch any pending NPX exceptions. - /* Save the SSE2 for X87 state */ - mov GNAME(fpu_mode), %eax - cmp $2, %eax # SSE2 mode? - jne x87_save -#endif movl %esp, %eax # Remember the current stack pointer /* * The SSE state is 512 bytes, but we need 16 more because we @@ -133,25 +126,6 @@ FUNCDEF(call_into_lisp) andl $-16, %esp # fxsave needs 16-byte alignment fxsave (%esp) pushl %eax # Save the old stack pointer - fninit # Reset fpu, just in case - jmp npx_save_done -#if 0 -x87_save: - subl $108,%esp # Make room for the NPX state. - fnsave (%esp) # Resets NPX - - movl (%esp),%eax # Load NPX control word - andl $0xfffff3ff,%eax # Set rounding mode to nearest -#ifdef type_LongFloat - orl $0x00000300,%eax # Set precision to 64 bits -#else - orl $0x00000200,%eax # Set precision to 53 bits -#endif - pushl %eax - fldcw (%esp) # Recover modes - popl %eax -#endif -npx_save_done: /* Save C regs: ebx esi edi */ pushl %ebx pushl %esi @@ -219,22 +193,9 @@ Ldone: popl %ebx
/* Restore the NPX state */ -#if 0 - /* Restore SSE2 state? */ - mov GNAME(fpu_mode), %eax - cmp $2, %eax # SSE2 mode? - jne x87_restore -#endif popl %eax # Get the old stack pointer fxrstor (%esp) # Restore the SSE state movl %eax, %esp # Now really restore the old stack pointer - jmp npx_restore_done -#if 0 -x87_restore: - frstor (%esp) - addl $108, %esp -#endif -npx_restore_done: popl %ebp # c-sp movl %edx,%eax # c-val
commit f94c7fc82bcfc0da0906ac64891f22e2eca169ae Author: Raymond Toy toy.raymond@gmail.com Date: Sun Apr 13 10:59:47 2014 -0700
Comment out x87 stuff from call_into_lisp.
diff --git a/src/lisp/x86-assem.S b/src/lisp/x86-assem.S index f9dee43..fd52d39 100644 --- a/src/lisp/x86-assem.S +++ b/src/lisp/x86-assem.S @@ -117,11 +117,13 @@ FUNCDEF(call_into_lisp) movl %esp,%ebp # establish new frame
/* Save the NPX state */ +#if 0 fwait # Catch any pending NPX exceptions. /* Save the SSE2 for X87 state */ mov GNAME(fpu_mode), %eax cmp $2, %eax # SSE2 mode? jne x87_save +#endif movl %esp, %eax # Remember the current stack pointer /* * The SSE state is 512 bytes, but we need 16 more because we @@ -133,7 +135,7 @@ FUNCDEF(call_into_lisp) pushl %eax # Save the old stack pointer fninit # Reset fpu, just in case jmp npx_save_done - +#if 0 x87_save: subl $108,%esp # Make room for the NPX state. fnsave (%esp) # Resets NPX @@ -148,6 +150,7 @@ x87_save: pushl %eax fldcw (%esp) # Recover modes popl %eax +#endif npx_save_done: /* Save C regs: ebx esi edi */ pushl %ebx @@ -216,17 +219,21 @@ Ldone: popl %ebx
/* Restore the NPX state */ +#if 0 /* Restore SSE2 state? */ mov GNAME(fpu_mode), %eax cmp $2, %eax # SSE2 mode? jne x87_restore +#endif popl %eax # Get the old stack pointer fxrstor (%esp) # Restore the SSE state movl %eax, %esp # Now really restore the old stack pointer jmp npx_restore_done +#if 0 x87_restore: frstor (%esp) addl $108, %esp +#endif npx_restore_done: popl %ebp # c-sp
commit 6bba234d4dc71255cf4b9c6a0d418147781c564b Author: Raymond Toy toy.raymond@gmail.com Date: Sat Apr 12 18:10:46 2014 -0700
More x87 removal from sse2-c-call.lisp
* Remove frobbing of the FPU modes from alloc and dealloc. * Use 16-byte alignment for all platforms. It's harmless for those that don't require it.
diff --git a/src/compiler/x86/sse2-c-call.lisp b/src/compiler/x86/sse2-c-call.lisp index 83f21b5..1e827d3 100644 --- a/src/compiler/x86/sse2-c-call.lisp +++ b/src/compiler/x86/sse2-c-call.lisp @@ -71,19 +71,11 @@ (:generator 0 (assert (location= result esp-tn))
- #+(or linux) - (progn - ;; Is this needed with sse2? - (inst sub esp-tn 4) - (inst fnstcw (make-ea :word :base esp-tn)) - (inst and (make-ea :word :base esp-tn) #xcff) - (inst or (make-ea :word :base esp-tn) #x300) - (inst fldcw (make-ea :word :base esp-tn)) - (inst add esp-tn 4)) (unless (zerop amount) (let ((delta (logandc2 (+ amount 3) 3))) (inst sub esp-tn delta))) - #+darwin (inst and esp-tn #xfffffff0) + ;; Align the stack to a 16-byte boundary. + (inst and esp-tn #xfffffff0) (move result esp-tn)))
(define-vop (dealloc-number-stack-space) @@ -91,15 +83,5 @@ (:generator 0 (unless (zerop amount) (let ((delta (logandc2 (+ amount 3) 3))) - (inst add esp-tn delta))) - #+(or linux) - (progn - ;; Is this needed with sse2? - (inst sub esp-tn 4) - (inst fnstcw (make-ea :word :base esp-tn)) - (inst and (make-ea :word :base esp-tn) #xcff) - (inst or (make-ea :word :base esp-tn) #x200) - (inst fldcw (make-ea :word :base esp-tn)) - (inst wait) - (inst add esp-tn 4)))) + (inst add esp-tn delta)))))
-----------------------------------------------------------------------
Summary of changes: src/compiler/x86/sse2-c-call.lisp | 24 +++--------------------- src/lisp/x86-assem.S | 32 -------------------------------- 2 files changed, 3 insertions(+), 53 deletions(-)
hooks/post-receive