projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.0.12:
[sbcl.git]
/
contrib
/
sb-rotate-byte
/
compiler.lisp
diff --git
a/contrib/sb-rotate-byte/compiler.lisp
b/contrib/sb-rotate-byte/compiler.lisp
index
95dcf65
..
a228227
100644
(file)
--- a/
contrib/sb-rotate-byte/compiler.lisp
+++ b/
contrib/sb-rotate-byte/compiler.lisp
@@
-48,9
+48,11
@@
'integer)
(deftransform %rotate-byte ((count size pos integer)
'integer)
(deftransform %rotate-byte ((count size pos integer)
- ((or (integer -31 -1) (integer 1 31))
+ ((integer -31 31)
(constant-arg (member 32))
(constant-arg (member 0))
(unsigned-byte 32)) *)
"inline 32-bit rotation"
(constant-arg (member 32))
(constant-arg (member 0))
(unsigned-byte 32)) *)
"inline 32-bit rotation"
+ ;; FIXME: What happens when, as here, the two type specifiers for
+ ;; COUNT overlap? Which gets to run first?
'(%unsigned-32-rotate-byte count integer))
'(%unsigned-32-rotate-byte count integer))