|
[Sbcl-commits] CVS: sbcl/src/assembly/x86-64 arith.lisp,1.1.4.2,1.1.4.3
From: Juho Snellman <jsnell@us...> - 2004-11-28 04:03
|
Update of /cvsroot/sbcl/sbcl/src/assembly/x86-64
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30514/src/assembly/x86-64
Modified Files:
Tag: x86-64-again-branch
arith.lisp
Log Message:
0.8.15.14.x86-64-again-branch.14:
* Fix fixnum multiplication overflow.
* Replace some #!+/-alpha with suitable SB-VM::N-FOO.
* Fix + cleanup float %NEGATE / ABS.
* Sign-extend the result of foo-float-bits (to for example
get correct MINUSP results from them).
* Add ANDPS SSE2 instruction.
* Add missing simple-vector widetags to case-statements in
maybe_adjust_large_object and
possibly_valid_dynamic_space_pointer.
Index: arith.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/assembly/x86-64/Attic/arith.lisp,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- arith.lisp 18 Nov 2004 04:46:42 -0000 1.1.4.2
+++ arith.lisp 28 Nov 2004 02:26:26 -0000 1.1.4.3
@@ -90,19 +90,19 @@
OKAY)
(define-generic-arith-routine (* 30)
- (move rax x) ; must use eax for 64-bit result
- (inst sar rax 3) ; remove *4 fixnum bias
- (inst imul y) ; result in edx:eax
+ (move rax x) ; must use eax for 64-bit result
+ (inst sar rax 3) ; remove *4 fixnum bias
+ (inst imul y) ; result in edx:eax
(inst jmp :no okay) ; still fixnum
;; zzz jrd changed edx to ebx in here, as edx isn't listed as a temp, above
;; pfw says that loses big -- edx is target for arg x and result res
;; note that 'edx' is not defined -- using x
(inst shrd rax x 3) ; high bits from edx
- (inst sar x 3) ; now shift edx too
+ (inst sar x 3) ; now shift edx too
- (move rcx x) ; save high bits from cdq
- (inst cdq) ; edx:eax <- sign-extend of eax
+ (move rcx x) ; save high bits from cqo
+ (inst cqo) ; edx:eax <- sign-extend of eax
(inst cmp x rcx)
(inst jmp :e SINGLE-WORD-BIGNUM)
|
| Thread | Author | Date |
|---|---|---|
| [Sbcl-commits] CVS: sbcl/src/assembly/x86-64 arith.lisp,1.1.4.2,1.1.4.3 | Juho Snellman <jsnell@us...> |