xref: /llvm-project/libc/test/src/math/performance_testing/fmodf16_perf.cpp (revision 1ace91f925ad87c3e5eb836ad58fdffe60c4aea6)
10cdb0b74SOverMighty //===-- Performance test for fmodf16 --------------------------------------===//
20cdb0b74SOverMighty //
30cdb0b74SOverMighty // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40cdb0b74SOverMighty // See https://llvm.org/LICENSE.txt for license information.
50cdb0b74SOverMighty // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60cdb0b74SOverMighty //
70cdb0b74SOverMighty //===----------------------------------------------------------------------===//
80cdb0b74SOverMighty 
90cdb0b74SOverMighty #include "BinaryOpSingleOutputPerf.h"
100cdb0b74SOverMighty 
110cdb0b74SOverMighty #include "src/__support/FPUtil/generic/FMod.h"
120cdb0b74SOverMighty #include "src/__support/macros/properties/types.h"
130cdb0b74SOverMighty 
140cdb0b74SOverMighty #include <stdint.h>
150cdb0b74SOverMighty 
160cdb0b74SOverMighty #define FMOD_FUNC(U) (LIBC_NAMESPACE::fputil::generic::FMod<float16, U>::eval)
170cdb0b74SOverMighty 
180cdb0b74SOverMighty int main() {
19*1ace91f9SJob Henandez Lara   BINARY_OP_SINGLE_OUTPUT_PERF_EX(float16, float16, FMOD_FUNC(uint16_t),
200cdb0b74SOverMighty                                   FMOD_FUNC(uint32_t), 5000,
210cdb0b74SOverMighty                                   "fmodf16_u16_vs_u32_perf.log")
220cdb0b74SOverMighty 
23*1ace91f9SJob Henandez Lara   BINARY_OP_SINGLE_OUTPUT_PERF_EX(float16, float16, FMOD_FUNC(uint16_t),
240cdb0b74SOverMighty                                   FMOD_FUNC(uint64_t), 5000,
250cdb0b74SOverMighty                                   "fmodf16_u16_vs_u64_perf.log")
260cdb0b74SOverMighty   return 0;
270cdb0b74SOverMighty }
28