]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crc32c: add intel optimized crc32c implementation
authorSage Weil <sage@inktank.com>
Wed, 21 Aug 2013 04:56:34 +0000 (21:56 -0700)
committerSage Weil <sage@inktank.com>
Thu, 22 Aug 2013 16:15:05 +0000 (09:15 -0700)
commite55809acd2d469ce1ecdf6cf2858711c904d02af
treeff1a251c4dd4d955b37ce7a09c7ad17f8461a738
parentf008ac427c9e4a70473f87ac789e75bcf045d878
crc32c: add intel optimized crc32c implementation

This is from Intel's ISA-L library and licensed under BSD 3-clause.

It needs to build with yasm, which means we go through all sorts of pain
to make this work with libtool:

 - strip out args it doesn't understand with yasm-wrapper
 - detect whether it is recent enough during configure

The code is conditional on:

 - build-time support (yasm)
 - run-time support (sse4.2)

Signed-off-by: Sage Weil <sage@inktank.com>
configure.ac
src/Makefile.am
src/common/crc32c.cc
src/common/crc32c_intel_fast.c [new file with mode: 0644]
src/common/crc32c_intel_fast.h [new file with mode: 0644]
src/common/crc32c_intel_fast_asm.S [new file with mode: 0644]