[all-commits] [llvm/llvm-project] 628fbb: [libc] Use nearest_integer instructions to improve...
lntue via All-commits
all-commits at lists.llvm.org
Tue Jul 26 06:12:53 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 628fbbef81c5ac806e6dbf2bce18dd44980051b1
https://github.com/llvm/llvm-project/commit/628fbbef81c5ac806e6dbf2bce18dd44980051b1
Author: Tue Ly <lntue at google.com>
Date: 2022-07-26 (Tue, 26 Jul 2022)
Changed paths:
M libc/docs/math.rst
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/expm1f.cpp
Log Message:
-----------
[libc] Use nearest_integer instructions to improve expm1f performance.
Use nearest_integer instructions to improve expf performance.
Performance tests with CORE-MATH's perf tool:
Before the patch:
```
$ ./perf.sh expm1f
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH reciprocal throughput : 10.096
System LIBC reciprocal throughput : 44.036
LIBC reciprocal throughput : 11.575
$ ./perf.sh expm1f --latency
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH latency : 42.239
System LIBC latency : 122.815
LIBC latency : 50.122
```
After the patch:
```
$ ./perf.sh expm1f
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH reciprocal throughput : 10.046
System LIBC reciprocal throughput : 43.899
LIBC reciprocal throughput : 9.179
$ ./perf.sh expm1f --latency
LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH latency : 42.078
System LIBC latency : 120.488
LIBC latency : 41.528
```
Reviewed By: zimmermann6
Differential Revision: https://reviews.llvm.org/D130502
More information about the All-commits
mailing list