This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [v3 PATCH] PPC64: Add libmvec SIMD double-precision natural exponent function.
- From: Tulio Magno Quites Machado Filho <tuliom at ascii dot art dot br>
- To: Shawn Landden <shawn at git dot icu>, libc-alpha at sourceware dot org
- Cc:
- Date: Tue, 04 Jun 2019 17:00:37 -0300
- Subject: Re: [v3 PATCH] PPC64: Add libmvec SIMD double-precision natural exponent function.
- References: <87tvddl7px.fsf@linux.ibm.com> <20190529191106.23888-1-shawn@git.icu>
Shawn Landden <shawn@git.icu> writes:
> [BZ #24209]
> * NEWS: Noted the addition of PPC64 vector exp function.
> * sysdeps/powerpc/bits/math-vector.h: Added entry for vector exp.
> * sysdeps/powerpc/powerpc64/fpu/Versions: Added vector exp entry.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile:
> (libmvec-sysdep_routines, CFLAGS-vec_d_exp2_vsx.c):
> (CFLAGS-vec_d_exp_data.c): Added build of VSX SIMD expf
> function and tests. Added vec_math_err.c to build.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/(math_config.h)->(math_config_dbl.h)
> Renamed, and modified for exp.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/test-double-vlen2-wrappers.c:
> Added entry for vector exp.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/vec_d_exp2_vsx.c: New file.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/vec_d_exp_data.c: Likewise.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/vec_math_err.c: Likewise.
> * sysdeps/unix/sysv/linux/powerpc/powerpc64/libmvec.abilist: SIMD expf
> added.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/vec_d_log_data.c: Rename of math_config.h
> * sysdeps/powerpc/powerpc64/fpu/multiarch/vec_d_log2_vsx.c: Likewise
Looks like some of the issues you fixed in v2 got reverted here.
Fixed.
> diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/vec_d_exp2_vsx.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/vec_d_exp2_vsx.c
> new file mode 100644
> index 0000000000..376531e32b
> --- /dev/null
> +++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/vec_d_exp2_vsx.c
> ...
> +/* Top 12 bits of a double (sign and exponent bits). */
> +static inline uint32_t top12(double x)
> +{
> + return asuint64(x) >> 52;
> +}
Something happened here as well and all the coding style issues that you fixed
in v2 got lost. Starting from this function.
Fixed.
I'm pushing this patch with the fixes I mentioned to branch tuliom/libmvec.
Thanks!
--
Tulio Magno