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] |
2015-05-22 18:31 GMT+03:00 Joseph Myers <joseph@codesourcery.com>: > 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. Hi, Joseph, updated patch is attached. Is it ok? 2015-05-25 Andrew Senkevich <andrew.senkevich@intel.com> * sysdeps/x86_64/fpu/Makefile: New file. * sysdeps/x86_64/fpu/Versions: New file. * sysdeps/x86_64/fpu/svml_d_cos_data.S: New file. * sysdeps/x86_64/fpu/svml_d_cos_data.h: New file. * sysdeps/x86_64/fpu/svml_d_cos2_core.S: New file. * sysdeps/x86_64/fpu/svml_d_cos4_core.S: New file. * sysdeps/x86_64/fpu/svml_d_cos4_core_avx.S: New file. * sysdeps/x86_64/fpu/svml_d_cos8_core.S: New file. * sysdeps/x86_64/fpu/svml_d_wrapper_impl.h: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core_sse4.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core_avx2.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: New file. * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core_avx512.S: New file. * sysdeps/x86_64/fpu/multiarch/Makefile (libmvec-sysdep_routines): Added build of SSE, AVX2 and AVX512 versions which are IFUNC. * sysdeps/x86/fpu/bits/math-vector.h: Added SIMD declaration for cos. * math/bits/mathcalls.h: Added cos declaration with __MATHCALL_VEC. * sysdeps/x86_64/configure.ac: Options for libmvec build. * sysdeps/x86_64/configure: Regenerated. * sysdeps/x86_64/sysdep.h (cfi_offset_rel_rsp): New macro. * sysdeps/unix/sysv/linux/x86_64/libmvec.abilist: New file. -- WBR, Andrew
Attachment:
0001-x86-64-vector-cos.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |