ceph/m4
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
..
ac_check_class.m4
ac_check_classpath.m4
ac_check_rqrd_class.m4
ac_java_options.m4
ac_prog_jar.m4
ac_prog_java.m4
ac_prog_java_works.m4
ac_prog_javac.m4 prioritise use of `javac` executable (gcj provides it through alternatives). 2014-05-12 14:08:44 +10:00
ac_prog_javac_works.m4
ac_prog_javah.m4
ac_try_compile_java.m4
ac_try_run_javac.m4
acx_pthread.m4
ax_arm.m4 crc32c: add aarch64 optimized crc32c implementation 2015-03-17 13:56:52 -05:00
ax_c_pretty_func.m4
ax_c_var_func.m4
ax_check_compile_flag.m4
ax_cxx_compile_stdcxx_11.m4 configure: verify c++11 is present for rocksdb 2014-07-31 21:11:24 -07:00
ax_cxx_static_cast.m4
ax_intel.m4 autotools: s/ssse3/sse3/ typo 2014-03-30 17:57:22 +02:00