(let ((low (logxor-derive-unsigned-low-bound x y))
(high (logxor-derive-unsigned-high-bound x y)))
(specifier-type `(integer ,low ,high)))
- (specifer-type '(unsigned-byte* *))))
+ (specifier-type '(unsigned-byte* *))))
((and (not x-pos) (not y-pos))
;; Both are negative. The result will be positive, and as long
;; as the longer.
;;; Perhaps we should have to prove that the denominator is nonzero before
;;; doing them? -- WHN 19990917
(macrolet ((def (name)
- `(deftransform ,name ((x y) ((constant-arg (integer 0 0)) integer)
+ `(deftransform ,name ((x y) ((integer 0 0) integer)
*)
"fold zero arg"
0)))
(def /))
(macrolet ((def (name)
- `(deftransform ,name ((x y) ((constant-arg (integer 0 0)) integer)
+ `(deftransform ,name ((x y) ((integer 0 0) integer)
*)
"fold zero arg"
'(values 0 0))))