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 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_check_classpath.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_check_rqrd_class.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_java_options.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_prog_jar.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_prog_java_works.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_prog_java.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_prog_javac_works.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_prog_javac.m4 prioritise use of javac executable (gcj provides it through alternatives). 2014-05-12 14:08:44 +10:00
ac_prog_javah.m4 ac_prog_javah.m4: Use AC_CANONICAL_TARGET instead of AC_CANONICAL_SYSTEM. 2013-01-14 14:11:54 -08:00
ac_try_compile_java.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
ac_try_run_javac.m4 configure.ac: check for org.junit.rules.ExternalResource 2013-01-09 19:52:05 -08:00
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 assert: choose function-var name on non-gnu 2013-11-06 14:16:28 -08:00
ax_c_var_func.m4 assert: choose function-var name on non-gnu 2013-11-06 14:16:28 -08:00
ax_check_compile_flag.m4 automake cleanup: adding vta support to configure 2013-09-07 22:41:09 +02:00
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 assert: use feature test for static_cast 2013-11-04 13:14:11 -08:00
ax_intel.m4 autotools: s/ssse3/sse3/ typo 2014-03-30 17:57:22 +02:00