[sb-simd-cvs] CVS update: sb-simd/sbcl-src/src/compiler/x86/float.lisp sb-simd/sbcl-src/src/compiler/x86/vm.lisp
Risto Laakso
rlaakso at common-lisp.net
Wed Aug 17 14:08:57 UTC 2005
Update of /project/sb-simd/cvsroot/sb-simd/sbcl-src/src/compiler/x86
In directory common-lisp.net:/tmp/cvs-serv1850/sbcl-src/src/compiler/x86
Modified Files:
vm.lisp
Added Files:
float.lisp
Log Message:
Date: Wed Aug 17 16:08:55 2005
Author: rlaakso
Index: sb-simd/sbcl-src/src/compiler/x86/vm.lisp
diff -u sb-simd/sbcl-src/src/compiler/x86/vm.lisp:1.2 sb-simd/sbcl-src/src/compiler/x86/vm.lisp:1.3
--- sb-simd/sbcl-src/src/compiler/x86/vm.lisp:1.2 Fri Aug 12 13:55:38 2005
+++ sb-simd/sbcl-src/src/compiler/x86/vm.lisp Wed Aug 17 16:08:55 2005
@@ -200,6 +200,7 @@
(sap-stack stack) ; System area pointers.
(single-stack stack) ; single-floats
(double-stack stack :element-size 2) ; double-floats.
+ (xmm-stack stack :element-size 4) ; xmm
#!+long-float
(long-stack stack :element-size 3) ; long-floats.
(complex-single-stack stack :element-size 2) ; complex-single-floats
@@ -304,6 +305,12 @@
:save-p t
:alternate-scs (double-stack))
+ ;; non-descriptor XMMs
+ (xmm-reg xmm-registers
+ :locations #.*xmm-regs*
+ :save-p t
+ :alternate-scs (xmm-stack))
+
;; non-descriptor LONG-FLOATs
#!+long-float
(long-reg float-registers
@@ -334,8 +341,6 @@
:save-p t
:alternate-scs (complex-long-stack))
- (xmm-reg xmm-registers
- :locations #.*xmm-regs*)
;; a catch or unwind block
(catch-block stack :element-size kludge-nondeterministic-catch-block-size))
@@ -376,7 +381,8 @@
(def-misc-reg-tns unsigned-reg eax ebx ecx edx ebp esp edi esi)
(def-misc-reg-tns word-reg ax bx cx dx bp sp di si)
(def-misc-reg-tns byte-reg al ah bl bh cl ch dl dh)
- (def-misc-reg-tns single-reg fr0 fr1 fr2 fr3 fr4 fr5 fr6 fr7))
+ (def-misc-reg-tns single-reg fr0 fr1 fr2 fr3 fr4 fr5 fr6 fr7)
+ (def-misc-reg-tns xmm-reg xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7))
;;; TNs for registers used to pass arguments
(defparameter *register-arg-tns*
More information about the Sb-simd-cvs
mailing list