Commit Graph

2 Commits

Author SHA1 Message Date
Yazen Ghannam 60762338a2 crc32c: add aarch64 optimized crc32c implementation
ARMv8 defines a set of optional CRC32/CRC32C instructions.
This patch defines an optimized function that uses these
instructions when available rather than table-based lookup.
Optimized function based on a Hadoop patch by Ed Nevill.

Autotools updated to check for compiler support.
Optimized function is selected at runtime based on HWCAP_CRC32.
Added crc32c "performance" unit test and arch unit test.

Tested on AMD Seattle.
Passes all crc32c unit tests.
Unit test shows ~4x performance increase versus sctp.

Signed-off-by: Yazen Ghannam <yazen.ghannam@linaro.org>
Reviewed-by: Steve Capper <steve.capper@linaro.org>
2015-03-17 13:56:52 -05:00
Janne Grunau cec00c9f4a autotools: ARM/AArch64 NEON detection similar to x86 2014-11-25 14:17:37 +01:00