llvm-project/libc
Hedin Garca a9628e96ca [libc] Add diff and perf targets for more math functions
Comparing the run time of math functions from LLVM libc
with the MSVCRT libc:
|function	|perf-LLVM libc		    |perf-MSVCRT
|ceilf		|2.36 mins (141491389600 ns)|47.10 sec (47100940100 ns)
|exp2f             |6.37 mins (358441794700 ns)|12.39 mins (719404388300 ns)
|expf		|6.35 mins (381204661800 ns)|6.17 mins (346150163200 ns)
|fabsf		|1.18 mins (78425546600 ns) |53.75 sec (53745301900 ns)
|floorf		|3.15 mins (164770963800 ns)|45.94 sec (45935988400 ns)
|logbf		|4.38 mins (262508058800 ns)|55.47 sec (55466377700 ns)
|nearbyintf	|3.20 mins (167972868000 ns)|9.13 mins (523822963600 ns)
|rintf		|3.20 mins (168001498700 ns)|22.35 mins (1341266448800 ns)
|roundf		|2.35 mins (141151500600 ns)|1.42 mins (85326429800 ns)
|truncf		|2.31 mins (114846424000 ns)|59.41 sec (59414309100 ns)

Evaluating the number of differing results in Windows:
|function	|diff
|ceilf          |8388606 differing results
|exp2f         |213303887 differing results
|expf           |193922 differing results
|fabsf          |8388606 differing results
|floorf         |8388606 differing results
|logbf          |0 differing results
|nearbyintf     |0 differing results
|rintf          |0 differing results
|roundf         |0 differing results
|truncf 	|0 differing results

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D107462
2021-08-05 17:57:04 +00:00
..
AOR_v20.02 Harmonize Python shebang 2020-07-16 21:53:45 +02:00
benchmarks [libc] Fix Memory Benchmarks code after rename 2021-08-04 09:17:12 +01:00
cmake/modules [libc] Enable MPFR library for math functions test 2021-07-27 20:40:04 +00:00
config [libc] Add trigonometric and exponential functions to the windows config. 2021-07-31 01:30:26 +00:00
docs [libc] Add documentation for clang-tidy checks. 2020-07-06 18:15:35 -07:00
fuzzing [libc] Remove libc-fuzzer as a dependency to check-libc. 2021-06-10 05:06:03 +00:00
include [libc][NFC][Obvious] Add a missing dep. 2021-01-18 22:04:20 -08:00
lib [libc] add integration tests for scudo in libc 2021-08-04 20:06:09 +00:00
loader [libc] Normalize LIBC_TARGET_MACHINE 2021-05-05 15:52:42 +00:00
spec [libc] Add implementation of expm1f. 2021-06-10 14:58:34 -04:00
src [libc][NFC] Add dummy errno target to satisfy mixed mode builds. 2021-07-30 17:42:48 +00:00
test [libc] Add diff and perf targets for more math functions 2021-08-05 17:57:04 +00:00
utils [libc] Move FPExceptMatcher out of TestHelpers.h 2021-07-30 23:44:29 +00:00
CMakeLists.txt [libc] Enable MPFR library for math functions test 2021-07-27 20:40:04 +00:00
LICENSE.TXT Rename top-level LICENSE.txt files to LICENSE.TXT 2021-03-10 21:26:24 -08:00
README.txt

README.txt

LLVM libc
=========

This directory and its subdirectories contain source code for llvm-libc,
a retargetable implementation of the C standard library.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.