The define-binop subtract accepted too large types.
authorThiemo Seufer <ths@networkno.de>
Wed, 7 Sep 2005 23:12:58 +0000 (23:12 +0000)
committerThiemo Seufer <ths@networkno.de>
Wed, 7 Sep 2005 23:12:58 +0000 (23:12 +0000)
src/compiler/mips/arith.lisp
version.lisp-expr

index b26bab9..e1e3a29 100644 (file)
 
 (define-binop + 1 5 addu (signed-byte 14) (signed-byte 16))
 (define-binop - 1 5 subu
-  (integer #.(- (1- (ash 1 14))) #.(ash 1 14))
-  (integer #.(- (1- (ash 1 16))) #.(ash 1 16)))
+  (integer #.(- 1 (ash 1 13)) #.(ash 1 13))
+  (integer #.(- 1 (ash 1 15)) #.(ash 1 15)))
 (define-binop logior 1 3 or (unsigned-byte 14) (unsigned-byte 16))
 (define-binop logand 1 3 and (unsigned-byte 14) (unsigned-byte 16))
 (define-binop logxor 1 3 xor (unsigned-byte 14) (unsigned-byte 16))
index a6003cb..6cf1325 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.9.4.42"
+"0.9.4.43"