diff options
author | Tue Ly <lntue@google.com> | 2022-07-25 12:24:31 -0400 |
---|---|---|
committer | Tue Ly <lntue@google.com> | 2022-07-26 09:11:27 -0400 |
commit | 91ee67206289ec80c3c02f063040fa4638be0d63 (patch) | |
tree | 61198b7db6207ccbebb2036ae18ab3257dc908f0 /llvm/lib/Bitcode | |
parent | 10a7c5b79823da0a6fd35f5b6a0883be6a0b0e22 (diff) | |
download | llvm-91ee67206289ec80c3c02f063040fa4638be0d63.zip llvm-91ee67206289ec80c3c02f063040fa4638be0d63.tar.gz llvm-91ee67206289ec80c3c02f063040fa4638be0d63.tar.bz2 |
[libc] Use nearest_integer instructions to improve expf performance.
Use nearest_integer instructions to improve expf performance.
Performance tests with CORE-MATH's perf tool:
Before the patch:
```
$ ./perf.sh expf
LIBC-location: /home/lnt/experiment/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH reciprocal throughput : 9.860
System LIBC reciprocal throughput : 7.728
LIBC reciprocal throughput : 12.363
$ ./perf.sh expf --latency
LIBC-location: /home/lnt/experiment/llvm-project/build/projects/libc/lib/libllvmlibc.a
GNU libc version: 2.31
GNU libc release: stable
CORE-MATH latency : 42.802
System LIBC latency : 35.941
LIBC latency : 49.808
```
After the patch:
```
$ ./perf.sh expf
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 : 9.441
System LIBC reciprocal throughput : 7.382
LIBC reciprocal throughput : 8.843
$ ./perf.sh expf --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 : 44.192
System LIBC latency : 37.693
LIBC latency : 44.145
```
Reviewed By: zimmermann6
Differential Revision: https://reviews.llvm.org/D130498
Diffstat (limited to 'llvm/lib/Bitcode')
0 files changed, 0 insertions, 0 deletions