From 10a87ca476bfd3ada1d7ecda377569055ea2891c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 4 Aug 2017 13:01:59 -0700 Subject: 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 nor . Include . (__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 nor . Include . (__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 nor . Include . (__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 nor . Include . (__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 nor . Include . (__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 nor . Include . (__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 nor . Include . (__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 nor . Include . (__rintf): Removed. --- ChangeLog | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index acfcdcc2ee..421a0e0594 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,51 @@ +2017-08-04 H.J. Lu + + * 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 nor . Include . + (__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 nor . Include . + (__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 nor . Include . + (__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 nor . Include . + (__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 nor . Include . + (__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 nor . Include . + (__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 nor . Include . + (__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 nor . Include . + (__rintf): Removed. + 2017-08-04 H.J. Lu * sysdeps/i386/start.S (_start): Check Check PIC instead of -- cgit v1.2.3