blob: 4bf7fd108772bc46fc8abae64496f19500c0a1ee [file] [log] [blame]
Frank Barchardd793f6c2020-05-08 13:37:43 -07001// Copyright 2019 Google LLC
2//
3// This source code is licensed under the BSD-style license found in the
4// LICENSE file in the root directory of this source tree.
5//
6// Auto-generated file. Do not edit!
7// Specification: test/f16-vminc.yaml
8// Generator: tools/generate-vbinary-test.py
9
10
11#include <gtest/gtest.h>
12
13#include <xnnpack/common.h>
14#include <xnnpack/isa-checks.h>
15
16#include <xnnpack/vbinary.h>
17#include "vbinaryc-microkernel-tester.h"
18
19
20#if XNN_ARCH_ARM64
21 TEST(F16_VMINC__NEONFP16ARITH_X8, batch_eq_8) {
22 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
23 VBinOpCMicrokernelTester()
24 .batch_size(8)
25 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x8, VBinOpCMicrokernelTester::OpType::MinC);
26 }
27
28 TEST(F16_VMINC__NEONFP16ARITH_X8, batch_div_8) {
29 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
30 for (size_t batch_size = 16; batch_size < 80; batch_size += 8) {
31 VBinOpCMicrokernelTester()
32 .batch_size(batch_size)
33 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x8, VBinOpCMicrokernelTester::OpType::MinC);
34 }
35 }
36
37 TEST(F16_VMINC__NEONFP16ARITH_X8, batch_lt_8) {
38 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
39 for (size_t batch_size = 1; batch_size < 8; batch_size++) {
40 VBinOpCMicrokernelTester()
41 .batch_size(batch_size)
42 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x8, VBinOpCMicrokernelTester::OpType::MinC);
43 }
44 }
45
46 TEST(F16_VMINC__NEONFP16ARITH_X8, batch_gt_8) {
47 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
48 for (size_t batch_size = 9; batch_size < 16; batch_size++) {
49 VBinOpCMicrokernelTester()
50 .batch_size(batch_size)
51 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x8, VBinOpCMicrokernelTester::OpType::MinC);
52 }
53 }
54
55 TEST(F16_VMINC__NEONFP16ARITH_X8, inplace) {
56 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
57 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
58 VBinOpCMicrokernelTester()
59 .batch_size(batch_size)
60 .inplace(true)
61 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x8, VBinOpCMicrokernelTester::OpType::MinC);
62 }
63 }
Frank Barchardd793f6c2020-05-08 13:37:43 -070064#endif // XNN_ARCH_ARM64
65
66
67#if XNN_ARCH_ARM64
68 TEST(F16_VMINC__NEONFP16ARITH_X16, batch_eq_16) {
69 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
70 VBinOpCMicrokernelTester()
71 .batch_size(16)
72 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x16, VBinOpCMicrokernelTester::OpType::MinC);
73 }
74
75 TEST(F16_VMINC__NEONFP16ARITH_X16, batch_div_16) {
76 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
77 for (size_t batch_size = 32; batch_size < 160; batch_size += 16) {
78 VBinOpCMicrokernelTester()
79 .batch_size(batch_size)
80 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x16, VBinOpCMicrokernelTester::OpType::MinC);
81 }
82 }
83
84 TEST(F16_VMINC__NEONFP16ARITH_X16, batch_lt_16) {
85 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
86 for (size_t batch_size = 1; batch_size < 16; batch_size++) {
87 VBinOpCMicrokernelTester()
88 .batch_size(batch_size)
89 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x16, VBinOpCMicrokernelTester::OpType::MinC);
90 }
91 }
92
93 TEST(F16_VMINC__NEONFP16ARITH_X16, batch_gt_16) {
94 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
95 for (size_t batch_size = 17; batch_size < 32; batch_size++) {
96 VBinOpCMicrokernelTester()
97 .batch_size(batch_size)
98 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x16, VBinOpCMicrokernelTester::OpType::MinC);
99 }
100 }
101
102 TEST(F16_VMINC__NEONFP16ARITH_X16, inplace) {
103 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
104 for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
105 VBinOpCMicrokernelTester()
106 .batch_size(batch_size)
107 .inplace(true)
108 .Test(xnn_f16_vminc_ukernel__neonfp16arith_x16, VBinOpCMicrokernelTester::OpType::MinC);
109 }
110 }
Frank Barchardd793f6c2020-05-08 13:37:43 -0700111#endif // XNN_ARCH_ARM64