//===-- Performance test for maximum and minimum functions ----------------===// // // 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 "BinaryOpSingleOutputPerf.h" #include "src/math/fmaxf.h" #include "src/math/fmaxf16.h" #include "src/math/fmaximum_numf.h" #include "src/math/fmaximum_numf16.h" #include "src/math/fmaximumf.h" #include "src/math/fmaximumf16.h" #include "src/math/fminf.h" #include "src/math/fminf16.h" #include "src/math/fminimum_numf.h" #include "src/math/fminimum_numf16.h" #include "src/math/fminimumf.h" #include "src/math/fminimumf16.h" #include <math.h> static constexpr size_t FLOAT16_ROUNDS = …; static constexpr size_t FLOAT_ROUNDS = …; // LLVM libc might be the only libc implementation with support for float16 math // functions currently. We can't compare our float16 functions against the // system libc, so we compare them against this placeholder function. float16 placeholder_binaryf16(float16 x, float16 y) { … } // The system libc might not provide the fmaximum* and fminimum* C23 math // functions either. float placeholder_binaryf(float x, float y) { … } int main() { … }