aboutsummaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
authorlntue <35648136+lntue@users.noreply.github.com>2024-03-11 11:38:39 -0400
committerGitHub <noreply@github.com>2024-03-11 11:38:39 -0400
commitd99bb01422a984e50043588a6bfafd2c6ce0b7e7 (patch)
tree6b2ed0b58d415f0e5572ba5a06def04b3d9efda9 /libc
parent63a5dc4aedaf8a4b26e536afb22612b4d69100bf (diff)
downloadllvm-d99bb01422a984e50043588a6bfafd2c6ce0b7e7.zip
llvm-d99bb01422a984e50043588a6bfafd2c6ce0b7e7.tar.gz
llvm-d99bb01422a984e50043588a6bfafd2c6ce0b7e7.tar.bz2
[libc][NFC] Clean up test/src/math/differential_testing folder, renaming it to performance_testing. (#84646)
Removing all the diff tests.
Diffstat (limited to 'libc')
-rw-r--r--libc/docs/math/index.rst4
-rw-r--r--libc/src/math/docs/add_math_function.md8
-rw-r--r--libc/test/src/math/CMakeLists.txt2
-rw-r--r--libc/test/src/math/differential_testing/ceilf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/cosf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/exp2f_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/expf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/expm1f_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/fabsf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/floorf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/fmod_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/fmodf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/hypot_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/hypotf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/log2f_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/logbf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/logf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/nearbyintf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/rintf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/roundf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/sinf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/sqrtf_diff.cpp16
-rw-r--r--libc/test/src/math/differential_testing/truncf_diff.cpp16
-rw-r--r--libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h (renamed from libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h)55
-rw-r--r--libc/test/src/math/performance_testing/CMakeLists.txt (renamed from libc/test/src/math/differential_testing/CMakeLists.txt)268
-rw-r--r--libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h (renamed from libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h)47
-rw-r--r--libc/test/src/math/performance_testing/Timer.cpp (renamed from libc/test/src/math/differential_testing/Timer.cpp)0
-rw-r--r--libc/test/src/math/performance_testing/Timer.h (renamed from libc/test/src/math/differential_testing/Timer.h)6
-rw-r--r--libc/test/src/math/performance_testing/ceilf_perf.cpp (renamed from libc/test/src/math/differential_testing/ceilf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/cosf_perf.cpp (renamed from libc/test/src/math/differential_testing/cosf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/exp2f_perf.cpp (renamed from libc/test/src/math/differential_testing/exp2f_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/expf_perf.cpp (renamed from libc/test/src/math/differential_testing/expf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/expm1f_perf.cpp (renamed from libc/test/src/math/differential_testing/expm1f_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/fabsf_perf.cpp (renamed from libc/test/src/math/differential_testing/fabsf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/floorf_perf.cpp (renamed from libc/test/src/math/differential_testing/floorf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/fmod_perf.cpp (renamed from libc/test/src/math/differential_testing/fmod_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/fmodf_perf.cpp (renamed from libc/test/src/math/differential_testing/fmodf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/hypot_perf.cpp (renamed from libc/test/src/math/differential_testing/hypot_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/hypotf_perf.cpp (renamed from libc/test/src/math/differential_testing/hypotf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/log10f_perf.cpp (renamed from libc/test/src/math/differential_testing/log10f_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/log1pf_perf.cpp (renamed from libc/test/src/math/differential_testing/log1pf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/log2f_perf.cpp (renamed from libc/test/src/math/differential_testing/log2f_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/logbf_perf.cpp (renamed from libc/test/src/math/differential_testing/logbf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/logf_perf.cpp (renamed from libc/test/src/math/differential_testing/logf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/nearbyintf_perf.cpp (renamed from libc/test/src/math/differential_testing/nearbyintf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/rintf_perf.cpp (renamed from libc/test/src/math/differential_testing/rintf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/roundf_perf.cpp (renamed from libc/test/src/math/differential_testing/roundf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/sinf_perf.cpp (renamed from libc/test/src/math/differential_testing/sinf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/sqrtf_perf.cpp (renamed from libc/test/src/math/differential_testing/sqrtf_perf.cpp)2
-rw-r--r--libc/test/src/math/performance_testing/truncf_perf.cpp (renamed from libc/test/src/math/differential_testing/truncf_perf.cpp)2
50 files changed, 88 insertions, 666 deletions
diff --git a/libc/docs/math/index.rst b/libc/docs/math/index.rst
index 7f2a1b2..b22ed51 100644
--- a/libc/docs/math/index.rst
+++ b/libc/docs/math/index.rst
@@ -567,13 +567,13 @@ Legends:
Performance
===========
-* Simple performance testings are located at: `libc/test/src/math/differential_testing <https://github.com/llvm/llvm-project/tree/main/libc/test/src/math/differential_testing>`_.
+* Simple performance testings are located at: `libc/test/src/math/performance_testing <https://github.com/llvm/llvm-project/tree/main/libc/test/src/math/performance_testing>`_.
* We also use the *perf* tool from the `CORE-MATH <https://core-math.gitlabpages.inria.fr/>`_
project: `link <https://gitlab.inria.fr/core-math/core-math/-/tree/master>`_.
The performance results from the CORE-MATH's perf tool are reported in the
table below, using the system library as reference (such as the `GNU C library <https://www.gnu.org/software/libc/>`_
- on Linux). Fmod performance results obtained with "differential_testing".
+ on Linux). Fmod performance results obtained with "performance_testing".
+--------------+-------------------------------+-------------------------------+-------------------------------------+----------------------------------------------------------------------+
| <Func> | Reciprocal throughput (clk) | Latency (clk) | Testing ranges | Testing configuration |
diff --git a/libc/src/math/docs/add_math_function.md b/libc/src/math/docs/add_math_function.md
index 6f08bf0..f8bc8a3b 100644
--- a/libc/src/math/docs/add_math_function.md
+++ b/libc/src/math/docs/add_math_function.md
@@ -129,11 +129,11 @@ implementation (which is very often glibc).
- Add a performance test to:
```
- libc/test/src/math/differential_testing/<func>_perf.cpp
+ libc/test/src/math/performance_testing/<func>_perf.cpp
```
- Add the corresponding entry point to:
```
- libc/test/src/math/differential_testing/CMakeLists.txt
+ libc/test/src/math/performance_testing/CMakeLists.txt
```
## Build and Run
@@ -189,8 +189,8 @@ implementation (which is very often glibc).
- Build and Run performance test:
```
- $ ninja libc.test.src.math.differential_testing.<func>_perf
- $ projects/libc/test/src/math/differential_testing/libc.test.src.math.differential_testing.<func>_perf
+ $ ninja libc.test.src.math.performance_testing.<func>_perf
+ $ projects/libc/test/src/math/performance_testing/libc.test.src.math.performance_testing.<func>_perf
$ cat <func>_perf.log
```
diff --git a/libc/test/src/math/CMakeLists.txt b/libc/test/src/math/CMakeLists.txt
index ad7dfdb..b8a4aaf 100644
--- a/libc/test/src/math/CMakeLists.txt
+++ b/libc/test/src/math/CMakeLists.txt
@@ -1721,5 +1721,5 @@ add_subdirectory(smoke)
if(NOT LLVM_LIBC_FULL_BUILD)
add_subdirectory(exhaustive)
- add_subdirectory(differential_testing)
+ add_subdirectory(performance_testing)
endif()
diff --git a/libc/test/src/math/differential_testing/ceilf_diff.cpp b/libc/test/src/math/differential_testing/ceilf_diff.cpp
deleted file mode 100644
index 7c0bb1e..0000000
--- a/libc/test/src/math/differential_testing/ceilf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for ceilf----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/ceilf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::ceilf, ::ceilf,
- "ceilf_diff.log")
diff --git a/libc/test/src/math/differential_testing/cosf_diff.cpp b/libc/test/src/math/differential_testing/cosf_diff.cpp
deleted file mode 100644
index ee310238..0000000
--- a/libc/test/src/math/differential_testing/cosf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for cosf ----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/cosf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::cosf, ::cosf,
- "cosf_diff.log")
diff --git a/libc/test/src/math/differential_testing/exp2f_diff.cpp b/libc/test/src/math/differential_testing/exp2f_diff.cpp
deleted file mode 100644
index 545c6de..0000000
--- a/libc/test/src/math/differential_testing/exp2f_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for exp2f----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/exp2f.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::exp2f, ::exp2f,
- "exp2f_diff.log")
diff --git a/libc/test/src/math/differential_testing/expf_diff.cpp b/libc/test/src/math/differential_testing/expf_diff.cpp
deleted file mode 100644
index 7c2e907..0000000
--- a/libc/test/src/math/differential_testing/expf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for expf ----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/expf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::expf, ::expf,
- "expf_diff.log")
diff --git a/libc/test/src/math/differential_testing/expm1f_diff.cpp b/libc/test/src/math/differential_testing/expm1f_diff.cpp
deleted file mode 100644
index 3cbd8a9..0000000
--- a/libc/test/src/math/differential_testing/expm1f_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for expm1f --------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/expm1f.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::expm1f, ::expm1f,
- "expm1f_diff.log")
diff --git a/libc/test/src/math/differential_testing/fabsf_diff.cpp b/libc/test/src/math/differential_testing/fabsf_diff.cpp
deleted file mode 100644
index 9bf9eff..0000000
--- a/libc/test/src/math/differential_testing/fabsf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for fabsf----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/fabsf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::fabsf, ::fabsf,
- "fabsf_diff.log")
diff --git a/libc/test/src/math/differential_testing/floorf_diff.cpp b/libc/test/src/math/differential_testing/floorf_diff.cpp
deleted file mode 100644
index 6d72927..0000000
--- a/libc/test/src/math/differential_testing/floorf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for floorf---------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/floorf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::floorf, ::floorf,
- "floorf_diff.log")
diff --git a/libc/test/src/math/differential_testing/fmod_diff.cpp b/libc/test/src/math/differential_testing/fmod_diff.cpp
deleted file mode 100644
index 026e529..0000000
--- a/libc/test/src/math/differential_testing/fmod_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for fmod ----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "BinaryOpSingleOutputDiff.h"
-
-#include "src/math/fmod.h"
-
-#include <math.h>
-
-BINARY_OP_SINGLE_OUTPUT_DIFF(double, LIBC_NAMESPACE::fmod, ::fmod,
- "fmod_diff.log")
diff --git a/libc/test/src/math/differential_testing/fmodf_diff.cpp b/libc/test/src/math/differential_testing/fmodf_diff.cpp
deleted file mode 100644
index 7029b1e..0000000
--- a/libc/test/src/math/differential_testing/fmodf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for fmodf ---------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "BinaryOpSingleOutputDiff.h"
-
-#include "src/math/fmodf.h"
-
-#include <math.h>
-
-BINARY_OP_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::fmodf, ::fmodf,
- "fmodf_diff.log")
diff --git a/libc/test/src/math/differential_testing/hypot_diff.cpp b/libc/test/src/math/differential_testing/hypot_diff.cpp
deleted file mode 100644
index c61e589..0000000
--- a/libc/test/src/math/differential_testing/hypot_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for hypot ---------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "BinaryOpSingleOutputDiff.h"
-
-#include "src/math/hypot.h"
-
-#include <math.h>
-
-BINARY_OP_SINGLE_OUTPUT_DIFF(double, LIBC_NAMESPACE::hypot, ::hypot,
- "hypot_diff.log")
diff --git a/libc/test/src/math/differential_testing/hypotf_diff.cpp b/libc/test/src/math/differential_testing/hypotf_diff.cpp
deleted file mode 100644
index d1c70fc..0000000
--- a/libc/test/src/math/differential_testing/hypotf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for hypotf --------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "BinaryOpSingleOutputDiff.h"
-
-#include "src/math/hypotf.h"
-
-#include <math.h>
-
-BINARY_OP_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::hypotf, ::hypotf,
- "hypotf_diff.log")
diff --git a/libc/test/src/math/differential_testing/log2f_diff.cpp b/libc/test/src/math/differential_testing/log2f_diff.cpp
deleted file mode 100644
index aef431d..0000000
--- a/libc/test/src/math/differential_testing/log2f_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for log2f ---------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/log2f.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::log2f, ::log2f,
- "log2f_diff.log")
diff --git a/libc/test/src/math/differential_testing/logbf_diff.cpp b/libc/test/src/math/differential_testing/logbf_diff.cpp
deleted file mode 100644
index 37441eb..0000000
--- a/libc/test/src/math/differential_testing/logbf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for logbf----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/logbf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::logbf, ::logbf,
- "logbf_diff.log")
diff --git a/libc/test/src/math/differential_testing/logf_diff.cpp b/libc/test/src/math/differential_testing/logf_diff.cpp
deleted file mode 100644
index 4ed1307..0000000
--- a/libc/test/src/math/differential_testing/logf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for logf ----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/logf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::logf, ::logf,
- "logf_diff.log")
diff --git a/libc/test/src/math/differential_testing/nearbyintf_diff.cpp b/libc/test/src/math/differential_testing/nearbyintf_diff.cpp
deleted file mode 100644
index 1420011..0000000
--- a/libc/test/src/math/differential_testing/nearbyintf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for nearbyintf-----------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/nearbyintf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::nearbyintf, ::nearbyintf,
- "nearbyintf_diff.log")
diff --git a/libc/test/src/math/differential_testing/rintf_diff.cpp b/libc/test/src/math/differential_testing/rintf_diff.cpp
deleted file mode 100644
index e60f660..0000000
--- a/libc/test/src/math/differential_testing/rintf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for rintf----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/rintf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::rintf, ::rintf,
- "rintf_diff.log")
diff --git a/libc/test/src/math/differential_testing/roundf_diff.cpp b/libc/test/src/math/differential_testing/roundf_diff.cpp
deleted file mode 100644
index e1401a0..0000000
--- a/libc/test/src/math/differential_testing/roundf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for roundf---------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/roundf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::roundf, ::roundf,
- "roundf_diff.log")
diff --git a/libc/test/src/math/differential_testing/sinf_diff.cpp b/libc/test/src/math/differential_testing/sinf_diff.cpp
deleted file mode 100644
index cb4557e..0000000
--- a/libc/test/src/math/differential_testing/sinf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for sinf ----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/sinf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::sinf, ::sinf,
- "sinf_diff.log")
diff --git a/libc/test/src/math/differential_testing/sqrtf_diff.cpp b/libc/test/src/math/differential_testing/sqrtf_diff.cpp
deleted file mode 100644
index 22ddeaa..0000000
--- a/libc/test/src/math/differential_testing/sqrtf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for sqrtf----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/sqrtf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::sqrtf, ::sqrtf,
- "sqrtf_diff.log")
diff --git a/libc/test/src/math/differential_testing/truncf_diff.cpp b/libc/test/src/math/differential_testing/truncf_diff.cpp
deleted file mode 100644
index 7f6ac4e..0000000
--- a/libc/test/src/math/differential_testing/truncf_diff.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Differential test for truncf---------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "SingleInputSingleOutputDiff.h"
-
-#include "src/math/truncf.h"
-
-#include <math.h>
-
-SINGLE_INPUT_SINGLE_OUTPUT_DIFF(float, LIBC_NAMESPACE::truncf, ::truncf,
- "truncf_diff.log")
diff --git a/libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h b/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
index 48572e7..68d37b4 100644
--- a/libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
+++ b/libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
@@ -7,14 +7,14 @@
//===----------------------------------------------------------------------===//
#include "src/__support/FPUtil/FPBits.h"
-#include "test/src/math/differential_testing/Timer.h"
+#include "test/src/math/performance_testing/Timer.h"
#include <fstream>
namespace LIBC_NAMESPACE {
namespace testing {
-template <typename T> class BinaryOpSingleOutputDiff {
+template <typename T> class BinaryOpSingleOutputPerf {
using FPBits = fputil::FPBits<T>;
using StorageType = typename FPBits::StorageType;
static constexpr StorageType UIntMax =
@@ -23,40 +23,6 @@ template <typename T> class BinaryOpSingleOutputDiff {
public:
typedef T Func(T, T);
- static uint64_t run_diff_in_range(Func myFunc, Func otherFunc,
- StorageType startingBit,
- StorageType endingBit, StorageType N,
- std::ofstream &log) {
- uint64_t result = 0;
- if (endingBit < startingBit) {
- return result;
- }
-
- StorageType step = (endingBit - startingBit) / N;
- for (StorageType bitsX = startingBit, bitsY = endingBit;;
- bitsX += step, bitsY -= step) {
- T x = T(FPBits(bitsX));
- T y = T(FPBits(bitsY));
- FPBits myBits = FPBits(myFunc(x, y));
- FPBits otherBits = FPBits(otherFunc(x, y));
- if (myBits.uintval() != otherBits.uintval()) {
- result++;
- log << " Input: " << bitsX << ", " << bitsY << " (" << x << ", "
- << y << ")\n"
- << " My result: " << myBits.uintval() << " (" << myBits.get_val()
- << ")\n"
- << "Other result: " << otherBits.uintval() << " ("
- << otherBits.get_val() << ")\n"
- << '\n';
- }
-
- if (endingBit - bitsX < step) {
- break;
- }
- }
- return result;
- }
-
static void run_perf_in_range(Func myFunc, Func otherFunc,
StorageType startingBit, StorageType endingBit,
StorageType N, std::ofstream &log) {
@@ -69,8 +35,8 @@ public:
StorageType step = (endingBit - startingBit) / N;
for (StorageType bitsX = startingBit, bitsY = endingBit;;
bitsX += step, bitsY -= step) {
- T x = T(FPBits(bitsX));
- T y = T(FPBits(bitsY));
+ T x = FPBits(bitsX).get_val();
+ T y = FPBits(bitsY).get_val();
result = func(x, y);
if (endingBit - bitsX < step) {
break;
@@ -110,12 +76,12 @@ public:
log << " Performance tests with inputs in denormal range:\n";
run_perf_in_range(myFunc, otherFunc, /* startingBit= */ StorageType(0),
/* endingBit= */ FPBits::max_subnormal().uintval(),
- 1'000'001, log);
+ 10'000'001, log);
log << "\n Performance tests with inputs in normal range:\n";
run_perf_in_range(myFunc, otherFunc,
/* startingBit= */ FPBits::min_normal().uintval(),
/* endingBit= */ FPBits::max_normal().uintval(),
- 100'000'001, log);
+ 10'000'001, log);
log << "\n Performance tests with inputs in normal range with exponents "
"close to each other:\n";
run_perf_in_range(
@@ -148,16 +114,9 @@ public:
} // namespace testing
} // namespace LIBC_NAMESPACE
-#define BINARY_OP_SINGLE_OUTPUT_DIFF(T, myFunc, otherFunc, filename) \
- int main() { \
- LIBC_NAMESPACE::testing::BinaryOpSingleOutputDiff<T>::run_diff( \
- &myFunc, &otherFunc, filename); \
- return 0; \
- }
-
#define BINARY_OP_SINGLE_OUTPUT_PERF(T, myFunc, otherFunc, filename) \
int main() { \
- LIBC_NAMESPACE::testing::BinaryOpSingleOutputDiff<T>::run_perf( \
+ LIBC_NAMESPACE::testing::BinaryOpSingleOutputPerf<T>::run_perf( \
&myFunc, &otherFunc, filename); \
return 0; \
}
diff --git a/libc/test/src/math/differential_testing/CMakeLists.txt b/libc/test/src/math/performance_testing/CMakeLists.txt
index 878f81f..d20c2eb 100644
--- a/libc/test/src/math/differential_testing/CMakeLists.txt
+++ b/libc/test/src/math/performance_testing/CMakeLists.txt
@@ -4,28 +4,28 @@ add_library(
Timer.h
)
-# A convenience target to build all differential tests.
-add_custom_target(libc-math-differential-tests)
+# A convenience target to build all performance tests.
+add_custom_target(libc-math-performance-tests)
-function(add_diff_binary target_name)
+function(add_perf_binary target_name)
cmake_parse_arguments(
- "DIFF"
+ "PERF"
"" # No optional arguments
"SUITE;CXX_STANDARD" # Single value arguments
"SRCS;HDRS;DEPENDS;COMPILE_OPTIONS" # Multi-value arguments
${ARGN}
)
- if(NOT DIFF_SRCS)
- message(FATAL_ERROR "'add_diff_binary' target requires a SRCS list of .cpp "
+ if(NOT PERF_SRCS)
+ message(FATAL_ERROR "'add_perf_binary' target requires a SRCS list of .cpp "
"files.")
endif()
- if(NOT DIFF_DEPENDS)
- message(FATAL_ERROR "'add_diff_binary' target requires a DEPENDS list of "
+ if(NOT PERF_DEPENDS)
+ message(FATAL_ERROR "'add_perf_binary' target requires a DEPENDS list of "
"'add_entrypoint_object' targets.")
endif()
get_fq_target_name(${target_name} fq_target_name)
- get_fq_deps_list(fq_deps_list ${DIFF_DEPENDS})
+ get_fq_deps_list(fq_deps_list ${PERF_DEPENDS})
get_object_files_for_test(
link_object_files skipped_entrypoints_list ${fq_deps_list})
if(skipped_entrypoints_list)
@@ -40,18 +40,18 @@ function(add_diff_binary target_name)
add_executable(
${fq_target_name}
EXCLUDE_FROM_ALL
- ${DIFF_SRCS}
- ${DIFF_HDRS}
+ ${PERF_SRCS}
+ ${PERF_HDRS}
)
target_include_directories(
${fq_target_name}
PRIVATE
${LIBC_SOURCE_DIR}
)
- if(DIFF_COMPILE_OPTIONS)
+ if(PERF_COMPILE_OPTIONS)
target_compile_options(
${fq_target_name}
- PRIVATE ${DIFF_COMPILE_OPTIONS}
+ PRIVATE ${PERF_COMPILE_OPTIONS}
)
endif()
@@ -62,11 +62,11 @@ function(add_diff_binary target_name)
set_target_properties(${fq_target_name}
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
- if(DIFF_CXX_STANDARD)
+ if(PERF_CXX_STANDARD)
set_target_properties(
${fq_target_name}
PROPERTIES
- CXX_STANDARD ${DIFF_CXX_STANDARD}
+ CXX_STANDARD ${PERF_CXX_STANDARD}
)
endif()
@@ -75,31 +75,22 @@ function(add_diff_binary target_name)
libc.src.__support.FPUtil.fp_bits
${fq_deps_list}
)
- add_dependencies(libc-math-differential-tests ${fq_target_name})
+ add_dependencies(libc-math-performance-tests ${fq_target_name})
endfunction()
add_header_library(
single_input_single_output_diff
HDRS
- SingleInputSingleOutputDiff.h
+ SingleInputSingleOutputPerf.h
)
add_header_library(
binary_op_single_output_diff
HDRS
- BinaryOpSingleOutputDiff.h
+ BinaryOpSingleOutputPerf.h
)
-add_diff_binary(
- sinf_diff
- SRCS
- sinf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.sinf
-)
-
-add_diff_binary(
+add_perf_binary(
sinf_perf
SRCS
sinf_perf.cpp
@@ -110,16 +101,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- cosf_diff
- SRCS
- cosf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.cosf
-)
-
-add_diff_binary(
+add_perf_binary(
cosf_perf
SRCS
cosf_perf.cpp
@@ -130,16 +112,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- expm1f_diff
- SRCS
- expm1f_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.expm1f
-)
-
-add_diff_binary(
+add_perf_binary(
expm1f_perf
SRCS
expm1f_perf.cpp
@@ -150,16 +123,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- ceilf_diff
- SRCS
- ceilf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.ceilf
-)
-
-add_diff_binary(
+add_perf_binary(
ceilf_perf
SRCS
ceilf_perf.cpp
@@ -170,16 +134,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- exp2f_diff
- SRCS
- exp2f_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.exp2f
-)
-
-add_diff_binary(
+add_perf_binary(
exp2f_perf
SRCS
exp2f_perf.cpp
@@ -190,16 +145,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- expf_diff
- SRCS
- expf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.expf
-)
-
-add_diff_binary(
+add_perf_binary(
expf_perf
SRCS
expf_perf.cpp
@@ -210,16 +156,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- fabsf_diff
- SRCS
- fabsf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.fabsf
-)
-
-add_diff_binary(
+add_perf_binary(
fabsf_perf
SRCS
fabsf_perf.cpp
@@ -230,16 +167,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- floorf_diff
- SRCS
- floorf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.floorf
-)
-
-add_diff_binary(
+add_perf_binary(
floorf_perf
SRCS
floorf_perf.cpp
@@ -250,7 +178,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
+add_perf_binary(
log10f_perf
SRCS
log10f_perf.cpp
@@ -261,7 +189,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
+add_perf_binary(
log1pf_perf
SRCS
log1pf_perf.cpp
@@ -272,18 +200,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- log2f_diff
- SRCS
- log2f_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.log2f
- COMPILE_OPTIONS
- -fno-builtin
-)
-
-add_diff_binary(
+add_perf_binary(
log2f_perf
SRCS
log2f_perf.cpp
@@ -294,18 +211,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- logf_diff
- SRCS
- logf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.logf
- COMPILE_OPTIONS
- -fno-builtin
-)
-
-add_diff_binary(
+add_perf_binary(
logf_perf
SRCS
logf_perf.cpp
@@ -316,16 +222,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- logbf_diff
- SRCS
- logbf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.logbf
-)
-
-add_diff_binary(
+add_perf_binary(
logbf_perf
SRCS
logbf_perf.cpp
@@ -336,16 +233,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- nearbyintf_diff
- SRCS
- nearbyintf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.nearbyintf
-)
-
-add_diff_binary(
+add_perf_binary(
nearbyintf_perf
SRCS
nearbyintf_perf.cpp
@@ -356,16 +244,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- rintf_diff
- SRCS
- rintf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.rintf
-)
-
-add_diff_binary(
+add_perf_binary(
rintf_perf
SRCS
rintf_perf.cpp
@@ -376,16 +255,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- roundf_diff
- SRCS
- roundf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.roundf
-)
-
-add_diff_binary(
+add_perf_binary(
roundf_perf
SRCS
roundf_perf.cpp
@@ -396,16 +266,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- sqrtf_diff
- SRCS
- sqrtf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.sqrtf
-)
-
-add_diff_binary(
+add_perf_binary(
sqrtf_perf
SRCS
sqrtf_perf.cpp
@@ -416,16 +277,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- truncf_diff
- SRCS
- truncf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.truncf
-)
-
-add_diff_binary(
+add_perf_binary(
truncf_perf
SRCS
truncf_perf.cpp
@@ -436,18 +288,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- hypotf_diff
- SRCS
- hypotf_diff.cpp
- DEPENDS
- .binary_op_single_output_diff
- libc.src.math.hypotf
- COMPILE_OPTIONS
- -fno-builtin
-)
-
-add_diff_binary(
+add_perf_binary(
hypotf_perf
SRCS
hypotf_perf.cpp
@@ -458,18 +299,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- hypot_diff
- SRCS
- hypot_diff.cpp
- DEPENDS
- .binary_op_single_output_diff
- libc.src.math.hypot
- COMPILE_OPTIONS
- -fno-builtin
-)
-
-add_diff_binary(
+add_perf_binary(
hypot_perf
SRCS
hypot_perf.cpp
@@ -480,16 +310,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- fmodf_diff
- SRCS
- fmodf_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.fmodf
-)
-
-add_diff_binary(
+add_perf_binary(
fmodf_perf
SRCS
fmodf_perf.cpp
@@ -500,16 +321,7 @@ add_diff_binary(
-fno-builtin
)
-add_diff_binary(
- fmod_diff
- SRCS
- fmod_diff.cpp
- DEPENDS
- .single_input_single_output_diff
- libc.src.math.fmod
-)
-
-add_diff_binary(
+add_perf_binary(
fmod_perf
SRCS
fmod_perf.cpp
diff --git a/libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h b/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
index 5e8310e..b5b3831 100644
--- a/libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
+++ b/libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
@@ -7,14 +7,14 @@
//===----------------------------------------------------------------------===//
#include "src/__support/FPUtil/FPBits.h"
-#include "test/src/math/differential_testing/Timer.h"
+#include "test/src/math/performance_testing/Timer.h"
#include <fstream>
namespace LIBC_NAMESPACE {
namespace testing {
-template <typename T> class SingleInputSingleOutputDiff {
+template <typename T> class SingleInputSingleOutputPerf {
using FPBits = fputil::FPBits<T>;
using StorageType = typename FPBits::StorageType;
static constexpr StorageType UIntMax =
@@ -23,40 +23,18 @@ template <typename T> class SingleInputSingleOutputDiff {
public:
typedef T Func(T);
- static void runDiff(Func myFunc, Func otherFunc, const char *logFile) {
- StorageType diffCount = 0;
- std::ofstream log(logFile);
- log << "Starting diff for values from 0 to " << UIntMax << '\n'
- << "Only differing results will be logged.\n\n";
- for (StorageType bits = 0;; ++bits) {
- T x = T(FPBits(bits));
- T myResult = myFunc(x);
- T otherResult = otherFunc(x);
- StorageType myBits = FPBits(myResult).uintval();
- StorageType otherBits = FPBits(otherResult).uintval();
- if (myBits != otherBits) {
- ++diffCount;
- log << " Input: " << bits << " (" << x << ")\n"
- << " My result: " << myBits << " (" << myResult << ")\n"
- << "Other result: " << otherBits << " (" << otherResult << ")\n"
- << '\n';
- }
- if (bits == UIntMax)
- break;
- }
- log << "Total number of differing results: " << diffCount << '\n';
- }
-
static void runPerfInRange(Func myFunc, Func otherFunc,
StorageType startingBit, StorageType endingBit,
std::ofstream &log) {
auto runner = [=](Func func) {
+ constexpr StorageType N = 10'010'001;
+ StorageType step = (endingBit - startingBit) / N;
+ if (step == 0)
+ step = 1;
volatile T result;
- for (StorageType bits = startingBit;; ++bits) {
- T x = T(FPBits(bits));
+ for (StorageType bits = startingBit; bits < endingBit; bits += step) {
+ T x = FPBits(bits).get_val();
result = func(x);
- if (bits == endingBit)
- break;
}
};
@@ -104,16 +82,9 @@ public:
} // namespace testing
} // namespace LIBC_NAMESPACE
-#define SINGLE_INPUT_SINGLE_OUTPUT_DIFF(T, myFunc, otherFunc, filename) \
- int main() { \
- LIBC_NAMESPACE::testing::SingleInputSingleOutputDiff<T>::runDiff( \
- &myFunc, &otherFunc, filename); \
- return 0; \
- }
-
#define SINGLE_INPUT_SINGLE_OUTPUT_PERF(T, myFunc, otherFunc, filename) \
int main() { \
- LIBC_NAMESPACE::testing::SingleInputSingleOutputDiff<T>::runPerf( \
+ LIBC_NAMESPACE::testing::SingleInputSingleOutputPerf<T>::runPerf( \
&myFunc, &otherFunc, filename); \
return 0; \
}
diff --git a/libc/test/src/math/differential_testing/Timer.cpp b/libc/test/src/math/performance_testing/Timer.cpp
index 979196a..979196a 100644
--- a/libc/test/src/math/differential_testing/Timer.cpp
+++ b/libc/test/src/math/performance_testing/Timer.cpp
diff --git a/libc/test/src/math/differential_testing/Timer.h b/libc/test/src/math/performance_testing/Timer.h
index 0d9518c..2327ede 100644
--- a/libc/test/src/math/differential_testing/Timer.h
+++ b/libc/test/src/math/performance_testing/Timer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLVM_LIBC_TEST_SRC_MATH_DIFFERENTIAL_TESTING_TIMER_H
-#define LLVM_LIBC_TEST_SRC_MATH_DIFFERENTIAL_TESTING_TIMER_H
+#ifndef LLVM_LIBC_TEST_SRC_MATH_PERFORMACE_TESTING_TIMER_H
+#define LLVM_LIBC_TEST_SRC_MATH_PERFORMACE_TESTING_TIMER_H
#include <stdint.h>
@@ -30,4 +30,4 @@ public:
} // namespace testing
} // namespace LIBC_NAMESPACE
-#endif // LLVM_LIBC_TEST_SRC_MATH_DIFFERENTIAL_TESTING_TIMER_H
+#endif // LLVM_LIBC_TEST_SRC_MATH_PERFORMANCE_TESTING_TIMER_H
diff --git a/libc/test/src/math/differential_testing/ceilf_perf.cpp b/libc/test/src/math/performance_testing/ceilf_perf.cpp
index c304231..04e96f6 100644
--- a/libc/test/src/math/differential_testing/ceilf_perf.cpp
+++ b/libc/test/src/math/performance_testing/ceilf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/ceilf.h"
diff --git a/libc/test/src/math/differential_testing/cosf_perf.cpp b/libc/test/src/math/performance_testing/cosf_perf.cpp
index 981a941..1501b8b 100644
--- a/libc/test/src/math/differential_testing/cosf_perf.cpp
+++ b/libc/test/src/math/performance_testing/cosf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/cosf.h"
diff --git a/libc/test/src/math/differential_testing/exp2f_perf.cpp b/libc/test/src/math/performance_testing/exp2f_perf.cpp
index 4aae522..19a70ac 100644
--- a/libc/test/src/math/differential_testing/exp2f_perf.cpp
+++ b/libc/test/src/math/performance_testing/exp2f_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/exp2f.h"
diff --git a/libc/test/src/math/differential_testing/expf_perf.cpp b/libc/test/src/math/performance_testing/expf_perf.cpp
index c34173b..4b74351 100644
--- a/libc/test/src/math/differential_testing/expf_perf.cpp
+++ b/libc/test/src/math/performance_testing/expf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/expf.h"
diff --git a/libc/test/src/math/differential_testing/expm1f_perf.cpp b/libc/test/src/math/performance_testing/expm1f_perf.cpp
index 3c25ef8..128ab35 100644
--- a/libc/test/src/math/differential_testing/expm1f_perf.cpp
+++ b/libc/test/src/math/performance_testing/expm1f_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/expm1f.h"
diff --git a/libc/test/src/math/differential_testing/fabsf_perf.cpp b/libc/test/src/math/performance_testing/fabsf_perf.cpp
index f9f9cea..b6c6add 100644
--- a/libc/test/src/math/differential_testing/fabsf_perf.cpp
+++ b/libc/test/src/math/performance_testing/fabsf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/fabsf.h"
diff --git a/libc/test/src/math/differential_testing/floorf_perf.cpp b/libc/test/src/math/performance_testing/floorf_perf.cpp
index abd1cd7..0f1087b 100644
--- a/libc/test/src/math/differential_testing/floorf_perf.cpp
+++ b/libc/test/src/math/performance_testing/floorf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/floorf.h"
diff --git a/libc/test/src/math/differential_testing/fmod_perf.cpp b/libc/test/src/math/performance_testing/fmod_perf.cpp
index 219ee78..fa9b4c6 100644
--- a/libc/test/src/math/differential_testing/fmod_perf.cpp
+++ b/libc/test/src/math/performance_testing/fmod_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "BinaryOpSingleOutputDiff.h"
+#include "BinaryOpSingleOutputPerf.h"
#include "src/math/fmod.h"
diff --git a/libc/test/src/math/differential_testing/fmodf_perf.cpp b/libc/test/src/math/performance_testing/fmodf_perf.cpp
index c2927bb..f13f02e 100644
--- a/libc/test/src/math/differential_testing/fmodf_perf.cpp
+++ b/libc/test/src/math/performance_testing/fmodf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "BinaryOpSingleOutputDiff.h"
+#include "BinaryOpSingleOutputPerf.h"
#include "src/math/fmodf.h"
diff --git a/libc/test/src/math/differential_testing/hypot_perf.cpp b/libc/test/src/math/performance_testing/hypot_perf.cpp
index 01a72e6..393697b 100644
--- a/libc/test/src/math/differential_testing/hypot_perf.cpp
+++ b/libc/test/src/math/performance_testing/hypot_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "BinaryOpSingleOutputDiff.h"
+#include "BinaryOpSingleOutputPerf.h"
#include "src/math/hypot.h"
diff --git a/libc/test/src/math/differential_testing/hypotf_perf.cpp b/libc/test/src/math/performance_testing/hypotf_perf.cpp
index ed57b18..f711729 100644
--- a/libc/test/src/math/differential_testing/hypotf_perf.cpp
+++ b/libc/test/src/math/performance_testing/hypotf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "BinaryOpSingleOutputDiff.h"
+#include "BinaryOpSingleOutputPerf.h"
#include "src/math/hypotf.h"
diff --git a/libc/test/src/math/differential_testing/log10f_perf.cpp b/libc/test/src/math/performance_testing/log10f_perf.cpp
index 60c1161..32a31b9 100644
--- a/libc/test/src/math/differential_testing/log10f_perf.cpp
+++ b/libc/test/src/math/performance_testing/log10f_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/log10f.h"
diff --git a/libc/test/src/math/differential_testing/log1pf_perf.cpp b/libc/test/src/math/performance_testing/log1pf_perf.cpp
index 5cd523d..18c1684 100644
--- a/libc/test/src/math/differential_testing/log1pf_perf.cpp
+++ b/libc/test/src/math/performance_testing/log1pf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/log1pf.h"
diff --git a/libc/test/src/math/differential_testing/log2f_perf.cpp b/libc/test/src/math/performance_testing/log2f_perf.cpp
index ee89939..c4c4dbf 100644
--- a/libc/test/src/math/differential_testing/log2f_perf.cpp
+++ b/libc/test/src/math/performance_testing/log2f_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/log2f.h"
diff --git a/libc/test/src/math/differential_testing/logbf_perf.cpp b/libc/test/src/math/performance_testing/logbf_perf.cpp
index 89d5bd1..eefd64b 100644
--- a/libc/test/src/math/differential_testing/logbf_perf.cpp
+++ b/libc/test/src/math/performance_testing/logbf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/logbf.h"
diff --git a/libc/test/src/math/differential_testing/logf_perf.cpp b/libc/test/src/math/performance_testing/logf_perf.cpp
index f1b3f98..53f4f50 100644
--- a/libc/test/src/math/differential_testing/logf_perf.cpp
+++ b/libc/test/src/math/performance_testing/logf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/logf.h"
diff --git a/libc/test/src/math/differential_testing/nearbyintf_perf.cpp b/libc/test/src/math/performance_testing/nearbyintf_perf.cpp
index 9c5736f..ae708dd 100644
--- a/libc/test/src/math/differential_testing/nearbyintf_perf.cpp
+++ b/libc/test/src/math/performance_testing/nearbyintf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/nearbyintf.h"
diff --git a/libc/test/src/math/differential_testing/rintf_perf.cpp b/libc/test/src/math/performance_testing/rintf_perf.cpp
index 432e5da..6347ac9 100644
--- a/libc/test/src/math/differential_testing/rintf_perf.cpp
+++ b/libc/test/src/math/performance_testing/rintf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/rintf.h"
diff --git a/libc/test/src/math/differential_testing/roundf_perf.cpp b/libc/test/src/math/performance_testing/roundf_perf.cpp
index 091c7b2..36becac 100644
--- a/libc/test/src/math/differential_testing/roundf_perf.cpp
+++ b/libc/test/src/math/performance_testing/roundf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/roundf.h"
diff --git a/libc/test/src/math/differential_testing/sinf_perf.cpp b/libc/test/src/math/performance_testing/sinf_perf.cpp
index 7247bca..43ba60e 100644
--- a/libc/test/src/math/differential_testing/sinf_perf.cpp
+++ b/libc/test/src/math/performance_testing/sinf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/sinf.h"
diff --git a/libc/test/src/math/differential_testing/sqrtf_perf.cpp b/libc/test/src/math/performance_testing/sqrtf_perf.cpp
index 5ae586b..7132551 100644
--- a/libc/test/src/math/differential_testing/sqrtf_perf.cpp
+++ b/libc/test/src/math/performance_testing/sqrtf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/sqrtf.h"
diff --git a/libc/test/src/math/differential_testing/truncf_perf.cpp b/libc/test/src/math/performance_testing/truncf_perf.cpp
index e07db13..ff74c6b 100644
--- a/libc/test/src/math/differential_testing/truncf_perf.cpp
+++ b/libc/test/src/math/performance_testing/truncf_perf.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "SingleInputSingleOutputDiff.h"
+#include "SingleInputSingleOutputPerf.h"
#include "src/math/truncf.h"