This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2 0/1] aarch64: Add optimized version of sinf and cosf
- From: Ashwin Sekhar T K <ashwin dot sekhar at caviumnetworks dot com>
- To: libc-alpha at sourceware dot org
- Cc: Ashwin Sekhar T K <ashwin dot sekhar at caviumnetworks dot com>
- Date: Thu, 6 Jul 2017 02:55:15 -0700
- Subject: [PATCH v2 0/1] aarch64: Add optimized version of sinf and cosf
- Authentication-results: sourceware.org; auth=none
- Authentication-results: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=caviumnetworks.com;
- References: <20170613071707.43396-1-ashwin.sekhar@caviumnetworks.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
The v2 version of this patch has the C version of the sinf and cosf
as suggested in reviews for v1.
The max ulp error for different code path intervals are given below. The error
was calculated by comparing to output of sin().
---------------------------------
Interval ULP Error
---------------------------------
0 < x < 2^-27 0.000000
2^-27 <= x < 2^-5 0.500000
2^-5 <= x < pi/4 0.500000
pi/4 <= x < 9*pi/4 0.500001
9*pi/4 <= x < 2^23 0.500001
2^23 <= x < Inf 0.500001
(The above were observed in case of all rounding modes)
The patchset was tested using "make check" for the math sub-directory.
The tests were run on linux 4.4.0-45-generic on ThunderX88 platform.
v2:
* Re-write complete implementation from assembly to C.
* Moved the source files from sysdeps/aarch64/fpu/multiarch to
sysdeps/aarch64/fpu
Ashwin Sekhar T K (1):
aarch64: Add optimized version of sinf and cosf
sysdeps/aarch64/fpu/chebyshev.h | 84 ++++++++++++++++++++++++
sysdeps/aarch64/fpu/reduce.h | 142 ++++++++++++++++++++++++++++++++++++++++
sysdeps/aarch64/fpu/s_cosf.c | 110 +++++++++++++++++++++++++++++++
sysdeps/aarch64/fpu/s_sinf.c | 120 +++++++++++++++++++++++++++++++++
4 files changed, 456 insertions(+)
create mode 100644 sysdeps/aarch64/fpu/chebyshev.h
create mode 100644 sysdeps/aarch64/fpu/reduce.h
create mode 100644 sysdeps/aarch64/fpu/s_cosf.c
create mode 100644 sysdeps/aarch64/fpu/s_sinf.c
--
2.12.2