xref: /aosp_15_r20/external/XNNPACK/test/copy-nc.cc (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1 // Copyright 2020 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 #include <gtest/gtest.h>
7 
8 #include "copy-operator-tester.h"
9 
10 
TEST(COPY_NC_X8,unit_batch)11 TEST(COPY_NC_X8, unit_batch) {
12   for (size_t channels = 1; channels < 100; channels++) {
13     CopyOperatorTester()
14       .batch_size(1)
15       .channels(channels)
16       .iterations(3)
17       .TestX8();
18   }
19 }
20 
TEST(COPY_NC_X8,small_batch)21 TEST(COPY_NC_X8, small_batch) {
22   for (size_t channels = 1; channels < 100; channels++) {
23     CopyOperatorTester()
24       .batch_size(3)
25       .channels(channels)
26       .iterations(3)
27       .TestX8();
28   }
29 }
30 
TEST(COPY_NC_X8,small_batch_with_input_stride)31 TEST(COPY_NC_X8, small_batch_with_input_stride) {
32   for (size_t channels = 1; channels < 100; channels += 15) {
33     CopyOperatorTester()
34       .batch_size(3)
35       .channels(channels)
36       .input_stride(129)
37       .iterations(3)
38       .TestX8();
39   }
40 }
41 
TEST(COPY_NC_X8,small_batch_with_output_stride)42 TEST(COPY_NC_X8, small_batch_with_output_stride) {
43   for (size_t channels = 1; channels < 100; channels += 15) {
44     CopyOperatorTester()
45       .batch_size(3)
46       .channels(channels)
47       .output_stride(117)
48       .iterations(3)
49       .TestX8();
50   }
51 }
52 
TEST(COPY_NC_X8,small_batch_with_input_and_output_stride)53 TEST(COPY_NC_X8, small_batch_with_input_and_output_stride) {
54   for (size_t channels = 1; channels < 100; channels += 15) {
55     CopyOperatorTester()
56       .batch_size(3)
57       .channels(channels)
58       .input_stride(129)
59       .output_stride(117)
60       .iterations(3)
61       .TestX8();
62   }
63 }
64 
65 
TEST(COPY_NC_X16,unit_batch)66 TEST(COPY_NC_X16, unit_batch) {
67   for (size_t channels = 1; channels < 100; channels++) {
68     CopyOperatorTester()
69       .batch_size(1)
70       .channels(channels)
71       .iterations(3)
72       .TestX16();
73   }
74 }
75 
TEST(COPY_NC_X16,small_batch)76 TEST(COPY_NC_X16, small_batch) {
77   for (size_t channels = 1; channels < 100; channels++) {
78     CopyOperatorTester()
79       .batch_size(3)
80       .channels(channels)
81       .iterations(3)
82       .TestX16();
83   }
84 }
85 
TEST(COPY_NC_X16,small_batch_with_input_stride)86 TEST(COPY_NC_X16, small_batch_with_input_stride) {
87   for (size_t channels = 1; channels < 100; channels += 15) {
88     CopyOperatorTester()
89       .batch_size(3)
90       .channels(channels)
91       .input_stride(129)
92       .iterations(3)
93       .TestX16();
94   }
95 }
96 
TEST(COPY_NC_X16,small_batch_with_output_stride)97 TEST(COPY_NC_X16, small_batch_with_output_stride) {
98   for (size_t channels = 1; channels < 100; channels += 15) {
99     CopyOperatorTester()
100       .batch_size(3)
101       .channels(channels)
102       .output_stride(117)
103       .iterations(3)
104       .TestX16();
105   }
106 }
107 
TEST(COPY_NC_X16,small_batch_with_input_and_output_stride)108 TEST(COPY_NC_X16, small_batch_with_input_and_output_stride) {
109   for (size_t channels = 1; channels < 100; channels += 15) {
110     CopyOperatorTester()
111       .batch_size(3)
112       .channels(channels)
113       .input_stride(129)
114       .output_stride(117)
115       .iterations(3)
116       .TestX16();
117   }
118 }
119 
120 
TEST(COPY_NC_X32,unit_batch)121 TEST(COPY_NC_X32, unit_batch) {
122   for (size_t channels = 1; channels < 100; channels++) {
123     CopyOperatorTester()
124       .batch_size(1)
125       .channels(channels)
126       .iterations(3)
127       .TestX32();
128   }
129 }
130 
TEST(COPY_NC_X32,small_batch)131 TEST(COPY_NC_X32, small_batch) {
132   for (size_t channels = 1; channels < 100; channels++) {
133     CopyOperatorTester()
134       .batch_size(3)
135       .channels(channels)
136       .iterations(3)
137       .TestX32();
138   }
139 }
140 
TEST(COPY_NC_X32,small_batch_with_input_stride)141 TEST(COPY_NC_X32, small_batch_with_input_stride) {
142   for (size_t channels = 1; channels < 100; channels += 15) {
143     CopyOperatorTester()
144       .batch_size(3)
145       .channels(channels)
146       .input_stride(129)
147       .iterations(3)
148       .TestX32();
149   }
150 }
151 
TEST(COPY_NC_X32,small_batch_with_output_stride)152 TEST(COPY_NC_X32, small_batch_with_output_stride) {
153   for (size_t channels = 1; channels < 100; channels += 15) {
154     CopyOperatorTester()
155       .batch_size(3)
156       .channels(channels)
157       .output_stride(117)
158       .iterations(3)
159       .TestX32();
160   }
161 }
162 
TEST(COPY_NC_X32,small_batch_with_input_and_output_stride)163 TEST(COPY_NC_X32, small_batch_with_input_and_output_stride) {
164   for (size_t channels = 1; channels < 100; channels += 15) {
165     CopyOperatorTester()
166       .batch_size(3)
167       .channels(channels)
168       .input_stride(129)
169       .output_stride(117)
170       .iterations(3)
171       .TestX32();
172   }
173 }
174