blob: dd42955e5e48876a2ffe5258299d40ca9bd9af6c [file] [log] [blame]
Frank Barchardb1966592020-05-12 13:47:06 -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-hswish.yaml
8// Generator: tools/generate-hswish-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/hswish.h>
17#include "hswish-microkernel-tester.h"
18
19
20#if XNN_ARCH_ARM64
21 TEST(F16_HSWISH__NEONFP16ARITH_X8, batch_eq_8) {
22 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
23 HSwishMicrokernelTester()
24 .batch_size(8)
25 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x8);
26 }
27
28 TEST(F16_HSWISH__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 HSwishMicrokernelTester()
32 .batch_size(batch_size)
33 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x8);
34 }
35 }
36
37 TEST(F16_HSWISH__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 HSwishMicrokernelTester()
41 .batch_size(batch_size)
42 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x8);
43 }
44 }
45
46 TEST(F16_HSWISH__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 HSwishMicrokernelTester()
50 .batch_size(batch_size)
51 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x8);
52 }
53 }
54
55 TEST(F16_HSWISH__NEONFP16ARITH_X8, inplace) {
56 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
57 for (size_t batch_size = 1; batch_size <= 40; batch_size += 7) {
58 HSwishMicrokernelTester()
59 .batch_size(batch_size)
60 .inplace(true)
61 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x8);
62 }
63 }
64#endif // XNN_ARCH_ARM64
65
66
67#if XNN_ARCH_ARM64
68 TEST(F16_HSWISH__NEONFP16ARITH_X16, batch_eq_16) {
69 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
70 HSwishMicrokernelTester()
71 .batch_size(16)
72 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x16);
73 }
74
75 TEST(F16_HSWISH__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 HSwishMicrokernelTester()
79 .batch_size(batch_size)
80 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x16);
81 }
82 }
83
84 TEST(F16_HSWISH__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 HSwishMicrokernelTester()
88 .batch_size(batch_size)
89 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x16);
90 }
91 }
92
93 TEST(F16_HSWISH__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 HSwishMicrokernelTester()
97 .batch_size(batch_size)
98 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x16);
99 }
100 }
101
102 TEST(F16_HSWISH__NEONFP16ARITH_X16, inplace) {
103 TEST_REQUIRES_ARM_NEON_FP16_ARITH;
104 for (size_t batch_size = 1; batch_size <= 80; batch_size += 15) {
105 HSwishMicrokernelTester()
106 .batch_size(batch_size)
107 .inplace(true)
108 .Test(xnn_f16_hswish_ukernel__neonfp16arith_x16);
109 }
110 }
111#endif // XNN_ARCH_ARM64