• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 }