From d3caab9c3a3df6f197253133821a2f1733c79d9e Mon Sep 17 00:00:00 2001 From: Roy Oursler Date: Thu, 7 Mar 2019 09:44:29 -0700 Subject: [PATCH] build: Avoid requiring AVX512 define when using dispatch functions Change-Id: I76af2d6ab7eb61ae531bbc7427650d08737c20ab Signed-off-by: Roy Oursler --- erasure_code/ec_multibinary.asm | 16 ++++------------ igzip/igzip_multibinary.asm | 12 ------------ include/multibinary.asm | 7 +++++++ raid/raid_multibinary.asm | 10 +++------- 4 files changed, 14 insertions(+), 31 deletions(-) diff --git a/erasure_code/ec_multibinary.asm b/erasure_code/ec_multibinary.asm index e862850..a07f45d 100644 --- a/erasure_code/ec_multibinary.asm +++ b/erasure_code/ec_multibinary.asm @@ -81,18 +81,10 @@ mbin_interface gf_vect_mad %else mbin_dispatch_init5 gf_vect_mul, gf_vect_mul_base, gf_vect_mul_sse, gf_vect_mul_avx, gf_vect_mul_avx - -%ifdef HAVE_AS_KNOWS_AVX512 - mbin_dispatch_init6 ec_encode_data, ec_encode_data_base, ec_encode_data_sse, ec_encode_data_avx, ec_encode_data_avx2, ec_encode_data_avx512 - mbin_dispatch_init6 ec_encode_data_update, ec_encode_data_update_base, ec_encode_data_update_sse, ec_encode_data_update_avx, ec_encode_data_update_avx2, ec_encode_data_update_avx512 - mbin_dispatch_init6 gf_vect_mad, gf_vect_mad_base, gf_vect_mad_sse, gf_vect_mad_avx, gf_vect_mad_avx2, gf_vect_mad_avx512 - mbin_dispatch_init6 gf_vect_dot_prod, gf_vect_dot_prod_base, gf_vect_dot_prod_sse, gf_vect_dot_prod_avx, gf_vect_dot_prod_avx2, gf_vect_dot_prod_avx512 -%else - mbin_dispatch_init5 ec_encode_data, ec_encode_data_base, ec_encode_data_sse, ec_encode_data_avx, ec_encode_data_avx2 - mbin_dispatch_init5 ec_encode_data_update, ec_encode_data_update_base, ec_encode_data_update_sse, ec_encode_data_update_avx, ec_encode_data_update_avx2 - mbin_dispatch_init5 gf_vect_mad, gf_vect_mad_base, gf_vect_mad_sse, gf_vect_mad_avx, gf_vect_mad_avx2 - mbin_dispatch_init5 gf_vect_dot_prod, gf_vect_dot_prod_base, gf_vect_dot_prod_sse, gf_vect_dot_prod_avx, gf_vect_dot_prod_avx2 -%endif + mbin_dispatch_init6 ec_encode_data, ec_encode_data_base, ec_encode_data_sse, ec_encode_data_avx, ec_encode_data_avx2, ec_encode_data_avx512 + mbin_dispatch_init6 ec_encode_data_update, ec_encode_data_update_base, ec_encode_data_update_sse, ec_encode_data_update_avx, ec_encode_data_update_avx2, ec_encode_data_update_avx512 + mbin_dispatch_init6 gf_vect_mad, gf_vect_mad_base, gf_vect_mad_sse, gf_vect_mad_avx, gf_vect_mad_avx2, gf_vect_mad_avx512 + mbin_dispatch_init6 gf_vect_dot_prod, gf_vect_dot_prod_base, gf_vect_dot_prod_sse, gf_vect_dot_prod_avx, gf_vect_dot_prod_avx2, gf_vect_dot_prod_avx512 %endif ;;; func core, ver, snum diff --git a/igzip/igzip_multibinary.asm b/igzip/igzip_multibinary.asm index 7bcba0c..7997a84 100644 --- a/igzip/igzip_multibinary.asm +++ b/igzip/igzip_multibinary.asm @@ -109,7 +109,6 @@ mbin_dispatch_init5 isal_deflate_icf_finish_lvl3, isal_deflate_icf_finish_hash_m mbin_interface isal_update_histogram mbin_dispatch_init5 isal_update_histogram, isal_update_histogram_base, isal_update_histogram_01, isal_update_histogram_01, isal_update_histogram_04 -%ifdef HAVE_AS_KNOWS_AVX512 mbin_interface encode_deflate_icf mbin_dispatch_init6 encode_deflate_icf, encode_deflate_icf_base, encode_deflate_icf_base, encode_deflate_icf_base, encode_deflate_icf_04, encode_deflate_icf_06 @@ -118,16 +117,6 @@ mbin_dispatch_init6 set_long_icf_fg, set_long_icf_fg_base, set_long_icf_fg_base, mbin_interface gen_icf_map_lh1 mbin_dispatch_init6 gen_icf_map_lh1, gen_icf_map_h1_base, gen_icf_map_h1_base, gen_icf_map_h1_base, gen_icf_map_lh1_04, gen_icf_map_lh1_06 -%else -mbin_interface encode_deflate_icf -mbin_dispatch_init5 encode_deflate_icf, encode_deflate_icf_base, encode_deflate_icf_base, encode_deflate_icf_base, encode_deflate_icf_04 - -mbin_interface set_long_icf_fg -mbin_dispatch_init5 set_long_icf_fg, set_long_icf_fg_base, set_long_icf_fg_base, set_long_icf_fg_base, set_long_icf_fg_04 - -mbin_interface gen_icf_map_lh1 -mbin_dispatch_init5 gen_icf_map_lh1, gen_icf_map_h1_base, gen_icf_map_h1_base, gen_icf_map_h1_base, gen_icf_map_lh1_04 -%endif mbin_interface isal_adler32 mbin_dispatch_init5 isal_adler32, adler32_base, adler32_sse, adler32_sse, adler32_avx2_4 @@ -143,4 +132,3 @@ mbin_dispatch_init5 isal_deflate_hash_lvl2, isal_deflate_hash_base, isal_deflate mbin_interface isal_deflate_hash_lvl3 mbin_dispatch_init5 isal_deflate_hash_lvl3, isal_deflate_hash_base, isal_deflate_hash_base, isal_deflate_hash_base, isal_deflate_hash_mad_base - diff --git a/include/multibinary.asm b/include/multibinary.asm index 00ce3dc..6ba3df5 100644 --- a/include/multibinary.asm +++ b/include/multibinary.asm @@ -235,6 +235,7 @@ ret %endmacro +%ifdef HAVE_AS_KNOWS_AVX512 ;;;;; ; mbin_dispatch_init6 parameters ; 1-> function name @@ -304,4 +305,10 @@ ret %endmacro +%else +%macro mbin_dispatch_init6 6 + mbin_dispatch_init5 %1, %2, %3, %4, %5 +%endmacro +%endif + %endif ; ifndef _MULTIBINARY_ASM_ diff --git a/raid/raid_multibinary.asm b/raid/raid_multibinary.asm index 81966b6..3180627 100644 --- a/raid/raid_multibinary.asm +++ b/raid/raid_multibinary.asm @@ -56,13 +56,9 @@ extern xor_check_sse mbin_interface xor_gen mbin_interface pq_gen -%ifdef HAVE_AS_KNOWS_AVX512 - mbin_dispatch_init6 xor_gen, xor_gen_base, xor_gen_sse, xor_gen_avx, xor_gen_avx, xor_gen_avx512 - mbin_dispatch_init6 pq_gen, pq_gen_base, pq_gen_sse, pq_gen_avx, pq_gen_avx2, pq_gen_avx512 -%else - mbin_dispatch_init5 xor_gen, xor_gen_base, xor_gen_sse, xor_gen_avx, xor_gen_avx - mbin_dispatch_init5 pq_gen, pq_gen_base, pq_gen_sse, pq_gen_avx, pq_gen_avx2 -%endif + +mbin_dispatch_init6 xor_gen, xor_gen_base, xor_gen_sse, xor_gen_avx, xor_gen_avx, xor_gen_avx512 +mbin_dispatch_init6 pq_gen, pq_gen_base, pq_gen_sse, pq_gen_avx, pq_gen_avx2, pq_gen_avx512 section .data