Fix modular ASH bug on PPC
* fixed some bugs revealed by Paul Dietz' test suite:
** compiler failure in compiling LOGAND expressions including a
constant 0.
- ** implementation of ASH-MOD32 on X86 did not work for the shift
- greater than 32.
+ ** implementation of ASH-MOD32 on X86 and PPC did not work for the
+ shift greater than 32.
** FLUSH-DEST did not mark blocks for type check regeneration.
** HANDLER-CASE failed to accept declarations in handler clauses
in some circumstances.
(cond
((and (minusp amount) (< amount -31)) (move result zero-tn))
((minusp amount) (inst srwi result number (- amount)))
+ ;; possible because this is used in the modular version too
+ ((> amount 31) (move result zero-tn))
(t (inst slwi result number amount)))))
(define-vop (fast-ash/signed=>signed)
;;; 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.5.38"
+"0.8.5.39"