changes in sbcl-0.8.20 (0.9alpha.0?) relative to sbcl-0.8.18:
+ * fixed disassembly of SHLD and SHRD on x86. (thanks to David
+ Lichteblau)
* fixed some bugs related to Unicode integration:
** portions of multibyte characters at the end of buffers for
character-based file input are correctly transferred to the
(defun integer-length (integer)
#!+sb-doc
- "Return the number of significant bits in the absolute value of integer."
+ "Return the number of non-sign bits in the twos-complement representation
+ of INTEGER."
(etypecase integer
(fixnum
(integer-length (truly-the fixnum integer)))
DONE))
\f
-;;; Note: documentation for this function is wrong - rtfm
(define-vop (signed-byte-64-len)
(:translate integer-length)
(:note "inline (signed-byte 32) integer-length")
DONE))
\f
-;;; Note: documentation for this function is wrong - rtfm
(define-vop (signed-byte-32-len)
(:translate integer-length)
(:note "inline (signed-byte 32) integer-length")
(eval-when (:compile-toplevel :execute)
(defun double-shift-inst-printer-list (op)
`(#+nil
- (ext-reg-reg/mem-imm ((op ,(logior op #b100))
+ (ext-reg-reg/mem-imm ((op ,(logior op #b10))
(imm nil :type signed-imm-byte)))
- (ext-reg-reg/mem ((op ,(logior op #b101)))
- (:name :tab reg/mem ", " 'cl)))))
+ (ext-reg-reg/mem ((op ,(logior op #b10)))
+ (:name :tab reg/mem ", " reg ", " 'cl)))))
(define-instruction shld (segment dst src amt)
(:declare (type (or (member :cl) (mod 32)) amt))
- (:printer-list (double-shift-inst-printer-list #b10100000))
+ (:printer-list (double-shift-inst-printer-list #b1010000))
(:emitter
(emit-double-shift segment #b0 dst src amt)))
(define-instruction shrd (segment dst src amt)
(:declare (type (or (member :cl) (mod 32)) amt))
- (:printer-list (double-shift-inst-printer-list #b10101000))
+ (:printer-list (double-shift-inst-printer-list #b1010100))
(:emitter
(emit-double-shift segment #b1 dst src amt)))
;;; 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.19.1"
+"0.8.19.2"