This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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] |
The following patch adds vectorized implementations of some math intrinsics to libgcc-math, like __m128d __vrd2_log(__m128d x); __m128d,__m128d __vrd4_exp(__m128d x1, __m128d x2); __vrs4_sincosf(__m128 x, __m128 * ys, __m128 * yc); __m128,__m128 __vrs8_log2f(__m128 x1, __m128 x2); for use by the vectorizer (Zdenek will send a vectorizer/backend patch to utilize those shortly). In total, libgcc-math on x86_64 will export the following additional symbols: LIBGCC_MATH_1.0 { global: __vrd2_log; __vrd2_log2; __vrd2_log10; __vrd2_exp; __vrd2_sin; __vrd2_cos; __vrd2_sincos; __vrd4_log; __vrd4_log2; __vrd4_log10; __vrd4_exp; __vrd4_sin; __vrd4_cos; __vrs4_cosf; __vrs4_expf; __vrs4_log10f; __vrs4_log2f; __vrs4_logf; __vrs4_powf; __vrs4_powxf; __vrs4_sincosf; __vrs4_sinf; __vrs8_expf; __vrs8_log10f; __vrs8_log2f; __vrs8_logf; local: *; }; The intrinsics implementation was contributed by AMD to be licensed as GPL + libgcc execption. Boostrapped on x86_64-unknown-linux-gnu and i686-pc-linux-gnu. Ok for mainline? Thanks, Richard. :ADDPATCH libgcc-math: (patch attached gzipped because of size) 2006-03-27 Richard Guenther <rguenther@suse.de> * configure.ac: Handle x86_64 subdir. * configure: Regenerate. * Makefile.in: Regenerate. * x86_64/Makefile.am: New file. * x86_64/Makefile.in: Regenerate. * x86_64/libm_util_amd.h: New file. * x86_64/remainder_piby2d2f.c: Likewise. * x86_64/remainder_piby2.c: Likewise. * x86_64/vrd2log.s: Likewise. * x86_64/vrd2log10.s: Likewise. * x86_64/vrd4log.s: Likewise. * x86_64/vrs4powxf.s: Likewise. * x86_64/vrd4log10.s: Likewise. * x86_64/vrd2cos.s: Likewise. * x86_64/vrs4sincosf.s: Likewise. * x86_64/vrd4cos.s: Likewise. * x86_64/vrd2sin.s: Likewise. * x86_64/vrd4sin.s: Likewise. * x86_64/vrs4logf.s: Likewise. * x86_64/vrs8logf.s: Likewise. * x86_64/vrs4sinf.s: Likewise. * x86_64/vrs4expf.s: Likewise. * x86_64/vrs8expf.s: Likewise. * x86_64/vrs4log2f.s: Likewise. * x86_64/vrd2exp.s: Likewise. * x86_64/vrs4powf.s: Likewise. * x86_64/vrs8log2f.s: Likewise. * x86_64/vrd2sincos.s: Likewise. * x86_64/vrd4exp.s: Likewise. * x86_64/vrd2log2.s: Likewise. * x86_64/vrd4log2.s: Likewise. * x86_64/vrs4log10f.s: Likewise. * x86_64/vrs4cosf.s: Likewise. * x86_64/vrs8log10f.s: Likewise. * x86_64/mv.map: New version map.
Attachment:
libgcc-math-x86_64.patch.gz
Description: GNU Zip compressed data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |