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 1/14] [x86_64] Vector math functions (vector cos)


On Thu, 21 May 2015, Andrew Senkevich wrote:

> diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile
> index 12b0526..5ccf97b 100644
> --- a/sysdeps/x86_64/fpu/multiarch/Makefile
> +++ b/sysdeps/x86_64/fpu/multiarch/Makefile
> @@ -51,3 +51,7 @@ CFLAGS-slowexp-avx.c = -msse2avx -DSSE2AVX
>  CFLAGS-s_tan-avx.c = -msse2avx -DSSE2AVX
>  endif
>  endif
> +
> +ifeq ($(subdir),mathvec)
> +libmvec-support += svml_d_cos2_core svml_d_cos8_core
> +endif

As far as I can tell, if you use --disable-multi-arch, then these files 
won't be built into libmvec, and nothing else will provide the 
_ZGVbN2v_cos and _ZGVeN8v_cos symbols.  See other multiarch code for 
examples of how such things are handled - typically, the file outside the 
multiarch directory implements things for an always-supported architecture 
variant (in this case, that would be a variant guaranteed to be supported 
if the given entry point gets called), then, in the multiarch directory, 
there are the implementations for other variants, and a file with the same 
name as that outside the multiarch directory, that (a) provides the IFUNC 
resolver and (b) defines some macros before #including the file in the 
directory above, so that the basic version of the function gets defined 
under a different name.

The elf/Makefile and include/libc-symbols.h changes are OK on their own - 
I think it's best for them to go in now rather than together with the 
first function implementations.

-- 
Joseph S. Myers
joseph@codesourcery.com


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