#include "common/sctp_crc32.h"
#include "common/crc32c_intel_baseline.h"
#include "common/crc32c_aarch64.h"
+#include "common/crc32c_riscv.h"
TEST(Crc32c, Small) {
const char *a = "foo bar baz";
std::cout << "aarch64 = " << rate << " MB/sec" << std::endl;
ASSERT_EQ(261108528u, val);
}
+#endif
+#if defined(__riscv) && defined(HAVE_RISCV_ZVBC)
+ if (ceph_arch_riscv_zbc && ceph_arch_riscv_zvbc)
+ {
+ utime_t start = ceph_clock_now();
+ unsigned val = ceph_crc32c_riscv(0, (unsigned char *)a, len);
+ utime_t end = ceph_clock_now();
+ float rate = (float)len / (float)(1024*1024) / (float)(end - start);
+ std::cout << "riscv = " << rate << " MB/sec" << std::endl;
+ ASSERT_EQ(261108528u, val);
+ }
#endif
free(a);
}