diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-08-04 13:01:59 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-08-04 13:02:13 -0700 |
commit | 10a87ca476bfd3ada1d7ecda377569055ea2891c (patch) | |
tree | 6d6e9f3e2e1ccc198ba9d5c74dc1a4ea0712175e /ChangeLog | |
parent | 1e8e527dd9718eaebe8417b73befb0c821b7b327 (diff) | |
download | glibc-10a87ca476bfd3ada1d7ecda377569055ea2891c.tar.gz glibc-10a87ca476bfd3ada1d7ecda377569055ea2891c.tar.xz glibc-10a87ca476bfd3ada1d7ecda377569055ea2891c.zip |
x86-64: Implement libm IFUNC selectors in C
* sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): Add s_ceil-sse4_1, s_ceilf-sse4_1, s_floor-sse4_1, s_floorf-sse4_1, s_nearbyint-sse4_1, s_nearbyintf-sse4_1, s_rint-sse4_1 and s_rintf-sse4_1. * sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: New file. * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise. * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise. * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise. * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise. * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Likewise. * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Likewise. * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise. * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise. * sysdeps/x86_64/fpu/multiarch/s_ceil.S: Renamed to ... * sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: This. Don't include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. (__ceil): Removed. * sysdeps/x86_64/fpu/multiarch/s_ceilf.S: Renamed to ... * sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: This. Don't include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. (__ceilf): Removed. * sysdeps/x86_64/fpu/multiarch/s_floor.S: Renamed to ... * sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: This. Don't include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. (__floor): Removed. * sysdeps/x86_64/fpu/multiarch/s_floorf.S: Renamed to ... * sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: This. Don't include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. (__floorf): Removed. * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: Renamed to ... * sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: This. Don't include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. (__nearbyint): Removed. * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: Renamed to ... * sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: This. Don't include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. (__nearbyintf): Removed. * sysdeps/x86_64/fpu/multiarch/s_rint.S: Renamed to ... * sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: This. Don't include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. (__rint): Removed. * sysdeps/x86_64/fpu/multiarch/s_rintf.S: Renamed to ... * sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: This. Don't include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. (__rintf): Removed.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index acfcdcc2ee..421a0e0594 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,53 @@ 2017-08-04 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/x86_64/fpu/multiarch/Makefile (libm-sysdep_routines): + Add s_ceil-sse4_1, s_ceilf-sse4_1, s_floor-sse4_1, + s_floorf-sse4_1, s_nearbyint-sse4_1, s_nearbyintf-sse4_1, + s_rint-sse4_1 and s_rintf-sse4_1. + * sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h: New file. + * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise. + * sysdeps/x86_64/fpu/multiarch/s_ceil.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: This. Don't + include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. + (__ceil): Removed. + * sysdeps/x86_64/fpu/multiarch/s_ceilf.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: This. Don't + include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. + (__ceilf): Removed. + * sysdeps/x86_64/fpu/multiarch/s_floor.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: This. Don't + include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. + (__floor): Removed. + * sysdeps/x86_64/fpu/multiarch/s_floorf.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: This. Don't + include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. + (__floorf): Removed. + * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: This. Don't + include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. + (__nearbyint): Removed. + * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: This. Don't + include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. + (__nearbyintf): Removed. + * sysdeps/x86_64/fpu/multiarch/s_rint.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: This. Don't + include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. + (__rint): Removed. + * sysdeps/x86_64/fpu/multiarch/s_rintf.S: Renamed to ... + * sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: This. Don't + include <machine/asm.h> nor <init-arch.h>. Include <sysdep.h>. + (__rintf): Removed. + +2017-08-04 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/i386/start.S (_start): Check Check PIC instead of SHARED. Avoid dynamic relocation against main in static PIE. |