diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/benchmarks/benchmark_adler32.cc | 16 | ||||
| -rw-r--r-- | test/benchmarks/benchmark_adler32_copy.cc | 30 | ||||
| -rw-r--r-- | test/benchmarks/benchmark_compare256.cc | 10 | ||||
| -rw-r--r-- | test/benchmarks/benchmark_crc32.cc | 10 | ||||
| -rw-r--r-- | test/benchmarks/benchmark_main.cc | 6 | ||||
| -rw-r--r-- | test/benchmarks/benchmark_slidehash.cc | 12 | ||||
| -rw-r--r-- | test/test_adler32.cc | 16 | ||||
| -rw-r--r-- | test/test_compare256.cc | 10 | ||||
| -rw-r--r-- | test/test_cpu_features.h | 8 | ||||
| -rw-r--r-- | test/test_crc32.cc | 12 | ||||
| -rw-r--r-- | test/test_main.cc | 8 |
11 files changed, 75 insertions, 63 deletions
diff --git a/test/benchmarks/benchmark_adler32.cc b/test/benchmarks/benchmark_adler32.cc index 19691376fb..5b0b65d67b 100644 --- a/test/benchmarks/benchmark_adler32.cc +++ b/test/benchmarks/benchmark_adler32.cc @@ -11,7 +11,7 @@ extern "C" { # include "zbuild.h" # include "zutil_p.h" -# include "cpu_features.h" +# include "../test_cpu_features.h" } #define MAX_RANDOM_INTS (1024 * 1024) @@ -65,25 +65,25 @@ public: BENCHMARK_ADLER32(c, adler32_c, 1); #ifdef ARM_NEON -BENCHMARK_ADLER32(neon, adler32_neon, arm_cpu_has_neon); +BENCHMARK_ADLER32(neon, adler32_neon, test_cpu_features.arm.has_neon); #endif #ifdef PPC_VMX -BENCHMARK_ADLER32(vmx, adler32_vmx, power_cpu_has_altivec); +BENCHMARK_ADLER32(vmx, adler32_vmx, test_cpu_features.power.has_altivec); #endif #ifdef POWER8_VSX -BENCHMARK_ADLER32(power8, adler32_power8, power_cpu_has_arch_2_07); +BENCHMARK_ADLER32(power8, adler32_power8, test_cpu_features.power.has_arch_2_07); #endif #ifdef X86_SSSE3 -BENCHMARK_ADLER32(ssse3, adler32_ssse3, x86_cpu_has_ssse3); +BENCHMARK_ADLER32(ssse3, adler32_ssse3, test_cpu_features.x86.has_ssse3); #endif #ifdef X86_AVX2 -BENCHMARK_ADLER32(avx2, adler32_avx2, x86_cpu_has_avx2); +BENCHMARK_ADLER32(avx2, adler32_avx2, test_cpu_features.x86.has_avx2); #endif #ifdef X86_AVX512 -BENCHMARK_ADLER32(avx512, adler32_avx512, x86_cpu_has_avx512); +BENCHMARK_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512); #endif #ifdef X86_AVX512VNNI -BENCHMARK_ADLER32(avx512_vnni, adler32_avx512_vnni, x86_cpu_has_avx512vnni); +BENCHMARK_ADLER32(avx512_vnni, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni); #endif diff --git a/test/benchmarks/benchmark_adler32_copy.cc b/test/benchmarks/benchmark_adler32_copy.cc index d508a004aa..cbee780b76 100644 --- a/test/benchmarks/benchmark_adler32_copy.cc +++ b/test/benchmarks/benchmark_adler32_copy.cc @@ -12,7 +12,7 @@ extern "C" { # include "zbuild.h" # include "zutil_p.h" -# include "cpu_features.h" +# include "../test_cpu_features.h" } #define MAX_RANDOM_INTS (1024 * 1024) @@ -87,32 +87,32 @@ BENCHMARK_ADLER32_BASELINE_COPY(c, adler32_c, 1); #ifdef ARM_NEON /* If we inline this copy for neon, the function would go here */ -//BENCHMARK_ADLER32_COPY(neon, adler32_neon, arm_cpu_has_neon); -BENCHMARK_ADLER32_BASELINE_COPY(neon_copy_baseline, adler32_neon, arm_cpu_has_neon); +//BENCHMARK_ADLER32_COPY(neon, adler32_neon, test_cpu_features.arm.has_neon); +BENCHMARK_ADLER32_BASELINE_COPY(neon_copy_baseline, adler32_neon, test_cpu_features.arm.has_neon); #endif #ifdef PPC_VMX -//BENCHMARK_ADLER32_COPY(vmx_inline_copy, adler32_fold_copy_vmx, power_cpu_has_altivec); -BENCHMARK_ADLER32_BASELINE_COPY(vmx_copy_baseline, adler32_vmx, power_cpu_has_altivec); +//BENCHMARK_ADLER32_COPY(vmx_inline_copy, adler32_fold_copy_vmx, test_cpu_features.power.has_altivec); +BENCHMARK_ADLER32_BASELINE_COPY(vmx_copy_baseline, adler32_vmx, test_cpu_features.power.has_altivec); #endif #ifdef POWER8_VSX -//BENCHMARK_ADLER32_COPY(power8_inline_copy, adler32_fold_copy_power8, power_cpu_has_arch_2_07); -BENCHMARK_ADLER32_BASELINE_COPY(power8, adler32_power8, power_cpu_has_arch_2_07); +//BENCHMARK_ADLER32_COPY(power8_inline_copy, adler32_fold_copy_power8, test_cpu_features.power.has_arch_2_07); +BENCHMARK_ADLER32_BASELINE_COPY(power8, adler32_power8, test_cpu_features.power.has_arch_2_07); #endif #ifdef X86_SSE42 -BENCHMARK_ADLER32_BASELINE_COPY(sse42_baseline, adler32_ssse3, x86_cpu_has_ssse3); -BENCHMARK_ADLER32_COPY(sse42, adler32_fold_copy_sse42, x86_cpu_has_sse42); +BENCHMARK_ADLER32_BASELINE_COPY(sse42_baseline, adler32_ssse3, test_cpu_features.x86.has_ssse3); +BENCHMARK_ADLER32_COPY(sse42, adler32_fold_copy_sse42, test_cpu_features.x86.has_sse42); #endif #ifdef X86_AVX2 -BENCHMARK_ADLER32_BASELINE_COPY(avx2_baseline, adler32_avx2, x86_cpu_has_avx2); -BENCHMARK_ADLER32_COPY(avx2, adler32_fold_copy_avx2, x86_cpu_has_avx2); +BENCHMARK_ADLER32_BASELINE_COPY(avx2_baseline, adler32_avx2, test_cpu_features.x86.has_avx2); +BENCHMARK_ADLER32_COPY(avx2, adler32_fold_copy_avx2, test_cpu_features.x86.has_avx2); #endif #ifdef X86_AVX512 -BENCHMARK_ADLER32_BASELINE_COPY(avx512_baseline, adler32_avx512, x86_cpu_has_avx512); -BENCHMARK_ADLER32_COPY(avx512, adler32_fold_copy_avx512, x86_cpu_has_avx512); +BENCHMARK_ADLER32_BASELINE_COPY(avx512_baseline, adler32_avx512, test_cpu_features.x86.has_avx512); +BENCHMARK_ADLER32_COPY(avx512, adler32_fold_copy_avx512, test_cpu_features.x86.has_avx512); #endif #ifdef X86_AVX512VNNI -BENCHMARK_ADLER32_BASELINE_COPY(avx512_vnni_baseline, adler32_avx512_vnni, x86_cpu_has_avx512vnni); -BENCHMARK_ADLER32_COPY(avx512_vnni, adler32_fold_copy_avx512_vnni, x86_cpu_has_avx512vnni); +BENCHMARK_ADLER32_BASELINE_COPY(avx512_vnni_baseline, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni); +BENCHMARK_ADLER32_COPY(avx512_vnni, adler32_fold_copy_avx512_vnni, test_cpu_features.x86.has_avx512vnni); #endif diff --git a/test/benchmarks/benchmark_compare256.cc b/test/benchmarks/benchmark_compare256.cc index 54f6b14b84..00c6cc6f63 100644 --- a/test/benchmarks/benchmark_compare256.cc +++ b/test/benchmarks/benchmark_compare256.cc @@ -10,7 +10,7 @@ extern "C" { # include "zbuild.h" # include "zutil_p.h" -# include "cpu_features.h" +# include "../test_cpu_features.h" } #define MAX_COMPARE_SIZE (256) @@ -71,14 +71,14 @@ BENCHMARK_COMPARE256(unaligned_64, compare256_unaligned_64, 1); #endif #endif #if defined(X86_SSE2) && defined(HAVE_BUILTIN_CTZ) -BENCHMARK_COMPARE256(sse2, compare256_sse2, x86_cpu_has_sse2); +BENCHMARK_COMPARE256(sse2, compare256_sse2, test_cpu_features.x86.has_sse2); #endif #if defined(X86_AVX2) && defined(HAVE_BUILTIN_CTZ) -BENCHMARK_COMPARE256(avx2, compare256_avx2, x86_cpu_has_avx2); +BENCHMARK_COMPARE256(avx2, compare256_avx2, test_cpu_features.x86.has_avx2); #endif #if defined(ARM_NEON) && defined(HAVE_BUILTIN_CTZLL) -BENCHMARK_COMPARE256(neon, compare256_neon, arm_cpu_has_neon); +BENCHMARK_COMPARE256(neon, compare256_neon, test_cpu_features.arm.has_neon); #endif #ifdef POWER9 -BENCHMARK_COMPARE256(power9, compare256_power9, power_cpu_has_arch_3_00); +BENCHMARK_COMPARE256(power9, compare256_power9, test_cpu_features.power.has_arch_3_00); #endif diff --git a/test/benchmarks/benchmark_crc32.cc b/test/benchmarks/benchmark_crc32.cc index b5ecda5179..b2b9673d9f 100644 --- a/test/benchmarks/benchmark_crc32.cc +++ b/test/benchmarks/benchmark_crc32.cc @@ -11,7 +11,7 @@ extern "C" { # include "zbuild.h" # include "zutil_p.h" -# include "cpu_features.h" +# include "../test_cpu_features.h" } #define MAX_RANDOM_INTS (1024 * 1024) @@ -58,12 +58,12 @@ public: BENCHMARK_CRC32(braid, PREFIX(crc32_braid), 1); #ifdef ARM_ACLE -BENCHMARK_CRC32(acle, crc32_acle, arm_cpu_has_crc32); +BENCHMARK_CRC32(acle, crc32_acle, test_cpu_features.arm.has_crc32); #elif defined(POWER8_VSX) -BENCHMARK_CRC32(power8, crc32_power8, power_cpu_has_arch_2_07); +BENCHMARK_CRC32(power8, crc32_power8, test_cpu_features.power.has_arch_2_07); #elif defined(S390_CRC32_VX) -BENCHMARK_CRC32(vx, PREFIX(s390_crc32_vx), PREFIX(s390_cpu_has_vx)); +BENCHMARK_CRC32(vx, crc32_s390_vx, test_cpu_features.s390.has_vx); #elif defined(X86_PCLMULQDQ_CRC) /* CRC32 fold does a memory copy while hashing */ -BENCHMARK_CRC32(pclmulqdq, crc32_pclmulqdq, x86_cpu_has_pclmulqdq); +BENCHMARK_CRC32(pclmulqdq, crc32_pclmulqdq, test_cpu_features.x86.has_pclmulqdq); #endif diff --git a/test/benchmarks/benchmark_main.cc b/test/benchmarks/benchmark_main.cc index ee8b614897..3ef2c5e87d 100644 --- a/test/benchmarks/benchmark_main.cc +++ b/test/benchmarks/benchmark_main.cc @@ -10,13 +10,15 @@ #ifndef BUILD_ALT extern "C" { # include "zbuild.h" -# include "cpu_features.h" +# include "../test_cpu_features.h" + + struct cpu_features test_cpu_features; } #endif int main(int argc, char** argv) { #ifndef BUILD_ALT - cpu_check_features(); + cpu_check_features(&test_cpu_features); #endif ::benchmark::Initialize(&argc, argv); diff --git a/test/benchmarks/benchmark_slidehash.cc b/test/benchmarks/benchmark_slidehash.cc index 5ffa7039d0..238cc1f658 100644 --- a/test/benchmarks/benchmark_slidehash.cc +++ b/test/benchmarks/benchmark_slidehash.cc @@ -11,7 +11,7 @@ extern "C" { # include "zbuild.h" # include "zutil_p.h" # include "deflate.h" -# include "cpu_features.h" +# include "../test_cpu_features.h" } #define MAX_RANDOM_INTS 32768 @@ -69,18 +69,18 @@ public: BENCHMARK_SLIDEHASH(c, slide_hash_c, 1); #ifdef ARM_NEON -BENCHMARK_SLIDEHASH(neon, slide_hash_neon, arm_cpu_has_neon); +BENCHMARK_SLIDEHASH(neon, slide_hash_neon, test_cpu_features.arm.has_neon); #endif #ifdef POWER8_VSX -BENCHMARK_SLIDEHASH(power8, slide_hash_power8, power_cpu_has_arch_2_07); +BENCHMARK_SLIDEHASH(power8, slide_hash_power8, test_cpu_features.power.has_arch_2_07); #endif #ifdef PPC_VMX -BENCHMARK_SLIDEHASH(vmx, slide_hash_vmx, power_cpu_has_altivec); +BENCHMARK_SLIDEHASH(vmx, slide_hash_vmx, test_cpu_features.power.has_altivec); #endif #ifdef X86_SSE2 -BENCHMARK_SLIDEHASH(sse2, slide_hash_sse2, x86_cpu_has_sse2); +BENCHMARK_SLIDEHASH(sse2, slide_hash_sse2, test_cpu_features.x86.has_sse2); #endif #ifdef X86_AVX2 -BENCHMARK_SLIDEHASH(avx2, slide_hash_avx2, x86_cpu_has_avx2); +BENCHMARK_SLIDEHASH(avx2, slide_hash_avx2, test_cpu_features.x86.has_avx2); #endif diff --git a/test/test_adler32.cc b/test/test_adler32.cc index 7f88f25565..4dfe63f203 100644 --- a/test/test_adler32.cc +++ b/test/test_adler32.cc @@ -10,7 +10,7 @@ extern "C" { # include "zbuild.h" -# include "cpu_features.h" +# include "test_cpu_features.h" } #include <gtest/gtest.h> @@ -365,22 +365,22 @@ INSTANTIATE_TEST_SUITE_P(adler32, adler32_variant, testing::ValuesIn(tests)); TEST_ADLER32(c, adler32_c, 1) #ifdef ARM_NEON -TEST_ADLER32(neon, adler32_neon, arm_cpu_has_neon) +TEST_ADLER32(neon, adler32_neon, test_cpu_features.arm.has_neon) #elif defined(POWER8_VSX) -TEST_ADLER32(power8, adler32_power8, power_cpu_has_arch_2_07) +TEST_ADLER32(power8, adler32_power8, test_cpu_features.power.has_arch_2_07) #elif defined(PPC_VMX) -TEST_ADLER32(vmx, adler32_vmx, power_cpu_has_altivec) +TEST_ADLER32(vmx, adler32_vmx, test_cpu_features.power.has_altivec) #endif #ifdef X86_SSSE3 -TEST_ADLER32(ssse3, adler32_ssse3, x86_cpu_has_ssse3) +TEST_ADLER32(ssse3, adler32_ssse3, test_cpu_features.x86.has_ssse3) #endif #ifdef X86_AVX2 -TEST_ADLER32(avx2, adler32_avx2, x86_cpu_has_avx2) +TEST_ADLER32(avx2, adler32_avx2, test_cpu_features.x86.has_avx2) #endif #ifdef X86_AVX512 -TEST_ADLER32(avx512, adler32_avx512, x86_cpu_has_avx512) +TEST_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512) #endif #ifdef X86_AVX512VNNI -TEST_ADLER32(avx512_vnni, adler32_avx512_vnni, x86_cpu_has_avx512vnni) +TEST_ADLER32(avx512_vnni, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni) #endif diff --git a/test/test_compare256.cc b/test/test_compare256.cc index 663ad96334..f920d1d205 100644 --- a/test/test_compare256.cc +++ b/test/test_compare256.cc @@ -10,7 +10,7 @@ extern "C" { # include "zbuild.h" # include "zutil_p.h" -# include "cpu_features.h" +# include "test_cpu_features.h" } #include <gtest/gtest.h> @@ -70,14 +70,14 @@ TEST_COMPARE256(unaligned_64, compare256_unaligned_64, 1) #endif #endif #if defined(X86_SSE2) && defined(HAVE_BUILTIN_CTZ) -TEST_COMPARE256(sse2, compare256_sse2, x86_cpu_has_sse2) +TEST_COMPARE256(sse2, compare256_sse2, test_cpu_features.x86.has_sse2) #endif #if defined(X86_AVX2) && defined(HAVE_BUILTIN_CTZ) -TEST_COMPARE256(avx2, compare256_avx2, x86_cpu_has_avx2) +TEST_COMPARE256(avx2, compare256_avx2, test_cpu_features.x86.has_avx2) #endif #if defined(ARM_NEON) && defined(HAVE_BUILTIN_CTZLL) -TEST_COMPARE256(neon, compare256_neon, arm_cpu_has_neon) +TEST_COMPARE256(neon, compare256_neon, test_cpu_features.arm.has_neon) #endif #ifdef POWER9 -TEST_COMPARE256(power9, compare256_power9, power_cpu_has_arch_3_00) +TEST_COMPARE256(power9, compare256_power9, test_cpu_features.power.has_arch_3_00) #endif diff --git a/test/test_cpu_features.h b/test/test_cpu_features.h new file mode 100644 index 0000000000..1bb4b13a08 --- /dev/null +++ b/test/test_cpu_features.h @@ -0,0 +1,8 @@ +#ifndef TEST_CPU_FEATURES_H +#define TEST_CPU_FEATURES_H + +#include "cpu_features.h" + +extern struct cpu_features test_cpu_features; + +#endif diff --git a/test/test_crc32.cc b/test/test_crc32.cc index 4d0b5b966a..f194b4ccf5 100644 --- a/test/test_crc32.cc +++ b/test/test_crc32.cc @@ -12,7 +12,7 @@ extern "C" { # include "zbuild.h" # include "zutil_p.h" -# include "cpu_features.h" +# include "test_cpu_features.h" } #include <gtest/gtest.h> @@ -209,14 +209,14 @@ INSTANTIATE_TEST_SUITE_P(crc32, crc32_variant, testing::ValuesIn(tests)); TEST_CRC32(braid, PREFIX(crc32_braid), 1) #ifdef ARM_ACLE -TEST_CRC32(acle, crc32_acle, arm_cpu_has_crc32) +TEST_CRC32(acle, crc32_acle, test_cpu_features.arm.has_crc32) #elif defined(POWER8_VSX_CRC32) -TEST_CRC32(power8, crc32_power8, power_cpu_has_arch_2_07) +TEST_CRC32(power8, crc32_power8, test_cpu_features.power.has_arch_2_07) #elif defined(S390_CRC32_VX) -TEST_CRC32(vx, PREFIX(s390_crc32_vx), PREFIX(s390_cpu_has_vx)) +TEST_CRC32(vx, crc32_s390_vx, test_cpu_features.s390.has_vx) #elif defined(X86_PCLMULQDQ_CRC) -TEST_CRC32(pclmulqdq, crc32_pclmulqdq, x86_cpu_has_pclmulqdq) +TEST_CRC32(pclmulqdq, crc32_pclmulqdq, test_cpu_features.x86.has_pclmulqdq) # ifdef X86_VPCLMULQDQ_CRC -TEST_CRC32(vpclmulqdq, crc32_vpclmulqdq, (x86_cpu_has_pclmulqdq && x86_cpu_has_avx512 && x86_cpu_has_vpclmulqdq)) +TEST_CRC32(vpclmulqdq, crc32_vpclmulqdq, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512 && test_cpu_features.x86.has_vpclmulqdq)) # endif #endif diff --git a/test/test_main.cc b/test/test_main.cc index c129db259f..82b39e4874 100644 --- a/test/test_main.cc +++ b/test/test_main.cc @@ -6,12 +6,14 @@ extern "C" { # include "zbuild.h" -# include "cpu_features.h" +# include "test_cpu_features.h" + + struct cpu_features test_cpu_features; } GTEST_API_ int main(int argc, char **argv) { printf("Running main() from %s\n", __FILE__); - cpu_check_features(); + cpu_check_features(&test_cpu_features); testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); -}
\ No newline at end of file +} |
