]> git.ipfire.org Git - thirdparty/glibc.git/commit - sysdeps/x86_64/fpu/multiarch/s_rintf.c
x86-64: Implement libm IFUNC selectors in C
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 4 Aug 2017 20:01:59 +0000 (13:01 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 4 Aug 2017 20:02:13 +0000 (13:02 -0700)
commit10a87ca476bfd3ada1d7ecda377569055ea2891c
tree6d6e9f3e2e1ccc198ba9d5c74dc1a4ea0712175e
parent1e8e527dd9718eaebe8417b73befb0c821b7b327
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.
19 files changed:
ChangeLog
sysdeps/x86_64/fpu/multiarch/Makefile
sysdeps/x86_64/fpu/multiarch/ifunc-sse4_1.h [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S [moved from sysdeps/x86_64/fpu/multiarch/s_ceil.S with 77% similarity]
sysdeps/x86_64/fpu/multiarch/s_ceil.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S [moved from sysdeps/x86_64/fpu/multiarch/s_ceilf.S with 77% similarity]
sysdeps/x86_64/fpu/multiarch/s_ceilf.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S [moved from sysdeps/x86_64/fpu/multiarch/s_floor.S with 77% similarity]
sysdeps/x86_64/fpu/multiarch/s_floor.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S [moved from sysdeps/x86_64/fpu/multiarch/s_floorf.S with 76% similarity]
sysdeps/x86_64/fpu/multiarch/s_floorf.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S [moved from sysdeps/x86_64/fpu/multiarch/s_nearbyint.S with 75% similarity]
sysdeps/x86_64/fpu/multiarch/s_nearbyint.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S [moved from sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S with 75% similarity]
sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S [moved from sysdeps/x86_64/fpu/multiarch/s_rint.S with 77% similarity]
sysdeps/x86_64/fpu/multiarch/s_rint.c [new file with mode: 0644]
sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S [moved from sysdeps/x86_64/fpu/multiarch/s_rintf.S with 77% similarity]
sysdeps/x86_64/fpu/multiarch/s_rintf.c [new file with mode: 0644]