1 // Copyright 2022 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/u32-filterbank-accumulate.yaml
8 // Generator: tools/generate-filterbank-accumulate-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/filterbank.h>
17 #include "filterbank-accumulate-microkernel-tester.h"
18
19
20 #if XNN_ARCH_ARM
TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_ARM_X1,rows_eq_1)21 TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_ARM_X1, rows_eq_1) {
22 FilterbankAccumulateMicrokernelTester()
23 .rows(1)
24 .Test(xnn_u32_filterbank_accumulate_ukernel__aarch32_arm_x1);
25 }
26
TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_ARM_X1,rows_gt_1)27 TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_ARM_X1, rows_gt_1) {
28 for (size_t rows = 2; rows < 10; rows++) {
29 FilterbankAccumulateMicrokernelTester()
30 .rows(rows)
31 .Test(xnn_u32_filterbank_accumulate_ukernel__aarch32_arm_x1);
32 }
33 }
34 #endif // XNN_ARCH_ARM
35
36
37 #if XNN_ARCH_ARM
TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_NEON_X1,rows_eq_1)38 TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_NEON_X1, rows_eq_1) {
39 TEST_REQUIRES_ARM_NEON;
40 FilterbankAccumulateMicrokernelTester()
41 .rows(1)
42 .Test(xnn_u32_filterbank_accumulate_ukernel__aarch32_neon_x1);
43 }
44
TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_NEON_X1,rows_gt_1)45 TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_NEON_X1, rows_gt_1) {
46 TEST_REQUIRES_ARM_NEON;
47 for (size_t rows = 2; rows < 10; rows++) {
48 FilterbankAccumulateMicrokernelTester()
49 .rows(rows)
50 .Test(xnn_u32_filterbank_accumulate_ukernel__aarch32_neon_x1);
51 }
52 }
53 #endif // XNN_ARCH_ARM
54
55
56 #if XNN_ARCH_ARM
TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_NEON_X2,rows_eq_1)57 TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_NEON_X2, rows_eq_1) {
58 TEST_REQUIRES_ARM_NEON;
59 FilterbankAccumulateMicrokernelTester()
60 .rows(1)
61 .Test(xnn_u32_filterbank_accumulate_ukernel__aarch32_neon_x2);
62 }
63
TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_NEON_X2,rows_gt_1)64 TEST(U32_FILTERBANK_ACCUMULATE__AARCH32_NEON_X2, rows_gt_1) {
65 TEST_REQUIRES_ARM_NEON;
66 for (size_t rows = 2; rows < 10; rows++) {
67 FilterbankAccumulateMicrokernelTester()
68 .rows(rows)
69 .Test(xnn_u32_filterbank_accumulate_ukernel__aarch32_neon_x2);
70 }
71 }
72 #endif // XNN_ARCH_ARM
73
74
75 #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(U32_FILTERBANK_ACCUMULATE__NEON_X1,rows_eq_1)76 TEST(U32_FILTERBANK_ACCUMULATE__NEON_X1, rows_eq_1) {
77 TEST_REQUIRES_ARM_NEON;
78 FilterbankAccumulateMicrokernelTester()
79 .rows(1)
80 .Test(xnn_u32_filterbank_accumulate_ukernel__neon_x1);
81 }
82
TEST(U32_FILTERBANK_ACCUMULATE__NEON_X1,rows_gt_1)83 TEST(U32_FILTERBANK_ACCUMULATE__NEON_X1, rows_gt_1) {
84 TEST_REQUIRES_ARM_NEON;
85 for (size_t rows = 2; rows < 10; rows++) {
86 FilterbankAccumulateMicrokernelTester()
87 .rows(rows)
88 .Test(xnn_u32_filterbank_accumulate_ukernel__neon_x1);
89 }
90 }
91 #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
92
93
94 #if XNN_ARCH_ARM || XNN_ARCH_ARM64
TEST(U32_FILTERBANK_ACCUMULATE__NEON_X2,rows_eq_1)95 TEST(U32_FILTERBANK_ACCUMULATE__NEON_X2, rows_eq_1) {
96 TEST_REQUIRES_ARM_NEON;
97 FilterbankAccumulateMicrokernelTester()
98 .rows(1)
99 .Test(xnn_u32_filterbank_accumulate_ukernel__neon_x2);
100 }
101
TEST(U32_FILTERBANK_ACCUMULATE__NEON_X2,rows_gt_1)102 TEST(U32_FILTERBANK_ACCUMULATE__NEON_X2, rows_gt_1) {
103 TEST_REQUIRES_ARM_NEON;
104 for (size_t rows = 2; rows < 10; rows++) {
105 FilterbankAccumulateMicrokernelTester()
106 .rows(rows)
107 .Test(xnn_u32_filterbank_accumulate_ukernel__neon_x2);
108 }
109 }
110 #endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
111
112
TEST(U32_FILTERBANK_ACCUMULATE__SCALAR_X1,rows_eq_1)113 TEST(U32_FILTERBANK_ACCUMULATE__SCALAR_X1, rows_eq_1) {
114 FilterbankAccumulateMicrokernelTester()
115 .rows(1)
116 .Test(xnn_u32_filterbank_accumulate_ukernel__scalar_x1);
117 }
118
TEST(U32_FILTERBANK_ACCUMULATE__SCALAR_X1,rows_gt_1)119 TEST(U32_FILTERBANK_ACCUMULATE__SCALAR_X1, rows_gt_1) {
120 for (size_t rows = 2; rows < 10; rows++) {
121 FilterbankAccumulateMicrokernelTester()
122 .rows(rows)
123 .Test(xnn_u32_filterbank_accumulate_ukernel__scalar_x1);
124 }
125 }