Tue Ly
628fbbef81
[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
2022-07-26 09:12:37 -04:00
..
2022-07-25 20:23:25 +00:00
2022-02-08 18:32:18 +00:00
2021-08-23 18:17:20 +00:00
2022-07-25 20:23:25 +00:00
2022-03-04 17:29:49 +00:00
2022-03-04 17:29:49 +00:00
2022-06-16 16:18:44 +00:00
2022-07-11 21:28:21 +00:00
2022-07-26 09:12:37 -04:00
2022-07-14 20:12:35 +00:00
2022-03-04 17:29:49 +00:00
2022-07-22 10:29:35 -07:00
2022-07-22 17:03:16 +00:00
2022-06-28 09:50:54 +00:00
2022-03-04 17:29:49 +00:00
2022-07-14 20:12:35 +00:00
2022-03-04 17:29:49 +00:00
2022-03-15 16:24:48 +00:00
2021-12-09 00:19:25 +00:00
2022-07-25 20:23:25 +00:00