* Fix PFD bug MISC.158: X86 (xor x x) instruction does not
work for X in memory.
CSR Christophe Rhodes
PVE Peter Van Eynde
PW Paul Werkowski
+PFD Paul F. Dietz
(if (plusp amount)
(inst shl result amount)
(inst shr result (- amount))))
- (t (inst xor result result)))))))
+ (t (if (sc-is result unsigned-reg)
+ (inst xor result result)
+ (inst mov result 0))))))))
(define-vop (fast-ash-left/signed=>signed)
(:translate ash)
(return-from b3 a))))))))
-589))
'(-589 0)))
+
+;;; MISC.158
+(assert (zerop (funcall
+ (compile nil
+ '(lambda (a b c)
+ (declare (type (integer 79828 2625480458) a))
+ (declare (type (integer -4363283 8171697) b))
+ (declare (type (integer -301 0) c))
+ (if (equal 6392154 (logxor a b))
+ 1706
+ (let ((v5 (abs c)))
+ (logand v5
+ (logior (logandc2 c v5)
+ (common-lisp:handler-case
+ (ash a (min 36 22477)))))))))
+ 100000 0 0)))
;;; 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.31"
+"0.8.5.32"