0.8.3.38:
authorChristophe Rhodes <csr21@cam.ac.uk>
Fri, 5 Sep 2003 08:15:44 +0000 (08:15 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Fri, 5 Sep 2003 08:15:44 +0000 (08:15 +0000)
Confirming what we already knew, part LXXVI
... the coverage of the compiler in the test suite isn't complete
... the coverage of the compiler in compiling the compiler is
at least different
... so fix the operand to ADDIS in %SINGLE-FLOAT/SIGNED sufficiently
to allow the compiler to compile

src/compiler/ppc/float.lisp
tests/float.impure.lisp
version.lisp-expr

index d2bd56f..86a5a9d 100644 (file)
                          (temp-offset-low (* (1+ stack-offset) sb!vm:n-word-bytes)))
                     (inst lis rtemp #x4330)   ; High word of magic constant
                     (inst stw rtemp nfp-tn temp-offset-high)
-                    (inst lis rtemp #x8000)
+                    (inst lis rtemp #x-8000)
                     (inst stw rtemp nfp-tn temp-offset-low)
                     (inst lfd fmagic nfp-tn temp-offset-high)
                     (inst xor rtemp rtemp x)          ; invert sign bit of x : rtemp had #x80000000
index f9b8f0d..7225011 100644 (file)
 (assert (= (complex-double-float-ppc #c(0.0d0 1.0d0) #c(2.0d0 3.0d0))
            #c(2.0d0 4.0d0)))
 
+(defun single-float-ppc (x)
+  (declare (type (signed-byte 32) x) (optimize speed))
+  (float x 1f0))
+(compile 'single-float-ppc)
+(assert (= (single-float-ppc -30) -30f0))
+
 ;;; success
 (quit :unix-status 104)
index 1696b3d..5044d09 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.3.37"
+"0.8.3.38"