Skip to content

Commit

Permalink
added CRC32c documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Logan007 committed Nov 20, 2021
1 parent 245caf7 commit 1a01af5
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ x <<<= constant; // left rotation
x ^= (x <<< constantA) ^ (x <<< constantB); // xor-rotate
bswap(x); // byte swap - the endianess changer
shf(x, constant); // byte shuffle, permutation
crc32(x, constant); // crc32c step, 32-bit only
clmul(x, constant | 1); // carryless multiplication, odd constants
```
Expand All @@ -311,6 +312,9 @@ on corresponding hardware only; `shf:03020100` denotes identity (no change),
optionally take a permutation of `{ 00, ... , 07 }` such as
`shf:0304050607020100`.
`crc` performs a hardware-accelerated CRC32c step – requiring a SSE4.2-
capable CPU. It is defined for 32-bit hashes only, try `-4 -p crc32,mul,crc32`.
`clmul`, the carryless multiplication instruction, is also available on supported
hardware only.
Expand Down

0 comments on commit 1a01af5

Please sign in to comment.