mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
| .. | ||
| arm-vm.lisp | ||
| arm64-vm.lisp | ||
| compiler.lisp | ||
| loongarch64-vm.lisp | ||
| Makefile | ||
| manual.lisp | ||
| package.lisp | ||
| ppc-vm.lisp | ||
| ppc64-vm.lisp | ||
| README | ||
| riscv-vm.lisp | ||
| rotate-byte-tests.lisp | ||
| rotate-byte.lisp | ||
| sb-rotate-byte.asd | ||
| sb-rotate-byte.texinfo | ||
| x86-64-vm.lisp | ||
| x86-vm.lisp | ||
This module provides an implementation of ROTATE-BYTE, described at
<http://www.cliki.net/ROTATE-BYTE">. Its inclusion is hoped to
achieve two aims:
(1) to provide the necessary functionality for implementations of
cryptographic and hashing algorithms (e.g. MD5);
(2) to provide an example of the things that can be achieved by using
the external but unsupported interfaces to the compiler.
Included in the module as of 2003-02-11 is an efficient implementation
of unsigned 32-bit rotation for the x86; when the compiler can prove
that the rotation in question is of an (UNSIGNED-BYTE 32) over the
byte specifier (BYTE 32 0), it will compile directly to machine
rotation instructions. Patches for similar functionality on other
platforms are welcome.