This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 3/4] Remove x64 _finite tests and references



On 16/07/2019 15:19, Adhemerval Zanella wrote:
> 
> 
> On 26/06/2019 11:00, Wilco Dijkstra wrote:
>> Remove _finite tests and references from x86_64.  Rather than calling
>> __exp_finite, use exp directly (since it's the same entry point).
>>
>> x86_64 builds and passes testsuite.
>>
>> ChangeLog:
>>
>> 2019-06-26  Wilco Dijkstra  <wdijkstr@arm.com>
>>
>> 	* sysdeps/x86_64/fpu/Makefile: Remove all finite tests.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_exp2_core_sse4.S: Use exp.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_exp4_core_avx2.S: Use exp.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S: Use exp.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_log2_core_sse4.S: Use log.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_log4_core_avx2.S: Use log.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S: Use log.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_pow2_core_sse4.S: Use pow.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_pow4_core_avx2.S: Use pow.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S: Use pow.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S: Use expf.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_expf4_core_sse4.S: Use expf.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_expf8_core_avx2.S: Use expf.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S: Use logf.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_logf4_core_sse4.S: Use logf.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_logf8_core_avx2.S: Use logf.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S: Use powf.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_powf4_core_sse4.S: Use powf.
>> 	* sysdeps/x86_64/fpu/multiarch/svml_s_powf8_core_avx2.S: Use powf.
>> 	* sysdeps/x86_64/fpu/svml_d_exp2_core.S: Use exp.
>> 	* sysdeps/x86_64/fpu/svml_d_log2_core.S: Use log.
>> 	* sysdeps/x86_64/fpu/svml_d_pow2_core.S: Use pow.
>> 	* sysdeps/x86_64/fpu/svml_finite_alias.S: Remove.
>> 	* sysdeps/x86_64/fpu/svml_s_expf4_core.S: Use expf.
>> 	* sysdeps/x86_64/fpu/svml_s_logf4_core.S: Use logf.
>> 	* sysdeps/x86_64/fpu/svml_s_powf4_core.S: Use powf.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-main.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-mod.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-main.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-mod.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-main.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-mod.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-main.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-double-libmvec-alias.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-main.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-mod.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-main.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-mod.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-main.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-mod.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-float-libmvec-alias.c: Remove.
>> 	* sysdeps/x86_64/fpu/test-libmvec-alias-mod.c: Remove.
> 
> LGTM.
> 
> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> 
>>
>> --
>>
>> diff --git a/sysdeps/x86_64/fpu/Makefile b/sysdeps/x86_64/fpu/Makefile
>> index 2b7d69bb5044e9917300d1d6759d28b8ba5a66b0..0f03d300730a6442c1bdc777108be001fc55a157 100644
>> --- a/sysdeps/x86_64/fpu/Makefile
>> +++ b/sysdeps/x86_64/fpu/Makefile
>> @@ -20,9 +20,9 @@ libmvec-support += svml_d_cos2_core svml_d_cos4_core_avx \
>>  		   svml_d_pow_data svml_s_powf4_core svml_s_powf8_core_avx \
>>  		   svml_s_powf8_core svml_s_powf16_core svml_s_powf_data \
>>  		   svml_s_sincosf4_core svml_s_sincosf8_core_avx \
>> -		   svml_s_sincosf8_core svml_s_sincosf16_core svml_finite_alias
>> +		   svml_s_sincosf8_core svml_s_sincosf16_core
>>  
>> -libmvec-static-only-routines = svml_finite_alias
>> +libmvec-static-only-routines =
>>  endif
>>  
>>  # Variables for libmvec tests.
> 
> Ok.

By defining it as an empty rule, x86_64 build does not create the
libmvec_nonshared.a any longer (since it just contains the finite
alias).  So we need to remove them from libm.so linker script
at math/Makefile as well.  I fixed it as well.

(I saw it build-many-glibcs that fails on gcc build).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]