From: Juho S. <js...@us...> - 2006-01-08 02:01:57
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6390/tests Modified Files: compiler.pure.lisp Log Message: 0.9.8.22: Some x86-64 SAP-REF setter VOPs for floats were trying to use the MOVE macro on float registers, causing compile errors in rare circumstances. Extend x86-64 MOVE to also handle SINGLE-REG and DOUBLE-REG SCs. Index: compiler.pure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/compiler.pure.lisp,v retrieving revision 1.130 retrieving revision 1.131 diff -u -d -r1.130 -r1.131 --- compiler.pure.lisp 6 Nov 2005 18:18:43 -0000 1.130 +++ compiler.pure.lisp 8 Jan 2006 02:01:43 -0000 1.131 @@ -1905,4 +1905,13 @@ (1+ x)))) (assert (= count1 0))) +;;; Up to 0.9.8.22 x86-64 had broken return value handling in the +;;; %SET-SAP-REF-DOUBLE/SINGLE VOPs. +(with-test (:name :sap-ref-float) + (compile nil '(lambda (sap) + (let ((x (setf (sb-vm::sap-ref-double sap 0) 1d0))) + (1+ x)))) + (compile nil '(lambda (sap) + (let ((x (setf (sb-vm::sap-ref-single sap 0) 1d0))) + (1+ x))))) |