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
(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
(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)
;;; 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"