xref: /aosp_15_r20/external/XNNPACK/test/xx-transpose.cc (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1 // Copyright 2021 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/xx-transpose.yaml
8 //   Generator: tools/generate-transpose-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/transpose.h>
17 #include "transpose-microkernel-tester.h"
18 
19 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_1_bw_1)20 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_1_bw_1) {
21   TransposeMicrokernelTester()
22     .input_stride(2)
23     .output_stride(2)
24     .block_width(1)
25     .block_height(1)
26     .element_size(1)
27     .iterations(1)
28     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
29 }
30 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_1_2_bw_1_2)31 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_1_2_bw_1_2) {
32   for(size_t i = 1; i <= 2; ++i){
33     for(size_t j = 1; j <= 2; ++j){
34       TransposeMicrokernelTester()
35         .input_stride(j * 3)
36         .output_stride(i * 7)
37         .block_width(j)
38         .block_height(i)
39         .element_size(1)
40         .iterations(1)
41         .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
42     }
43   }
44 }
45 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_1_bw_2)46 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_1_bw_2) {
47   TransposeMicrokernelTester()
48     .input_stride(2)
49     .output_stride(1)
50     .block_width(2)
51     .block_height(1)
52     .element_size(1)
53     .iterations(1)
54     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
55 }
56 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_1_bw_2_2)57 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_1_bw_2_2) {
58   for(size_t i = 2; i < 2; ++i){
59     TransposeMicrokernelTester()
60       .input_stride(i)
61       .output_stride(2)
62       .block_width(i)
63       .block_height(1)
64       .element_size(1)
65       .iterations(1)
66       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
67   }
68 }
69 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_2_bw_2_2)70 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_2_bw_2_2) {
71   for(size_t i = 2; i < 2; ++i){
72     TransposeMicrokernelTester()
73       .input_stride(i)
74       .output_stride(2)
75       .block_width(i)
76       .block_height(2)
77       .element_size(1)
78       .iterations(1)
79       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
80   }
81 }
82 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_2_bw_1)83 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_2_bw_1) {
84   TransposeMicrokernelTester()
85     .input_stride(1)
86     .output_stride(7)
87     .block_width(1)
88     .block_height(2)
89     .element_size(1)
90     .iterations(1)
91     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
92 }
93 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_2_2_bw_1)94 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_2_2_bw_1){
95   for(size_t i = 2; i < 2; ++i){
96     TransposeMicrokernelTester()
97       .input_stride(18)
98       .output_stride(i)
99       .block_width(4)
100       .block_height(i)
101       .element_size(1)
102       .iterations(1)
103       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
104   }
105 }
106 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_2_2_bw_2)107 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_2_2_bw_2){
108   for(size_t i = 2; i < 2; ++i){
109     TransposeMicrokernelTester()
110       .input_stride(2)
111       .output_stride(i)
112       .block_width(2)
113       .block_height(i)
114       .element_size(1)
115       .iterations(1)
116       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
117   }
118 }
119 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_2_2_bw_2_2)120 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_2_2_bw_2_2) {
121   for(size_t i = 2; i < 2; ++i){
122     for(size_t j = 2; j < 2; ++j){
123       TransposeMicrokernelTester()
124         .input_stride(j)
125         .output_stride(i)
126         .block_width(j)
127         .block_height(i)
128         .element_size(1)
129         .iterations(1)
130         .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
131     }
132   }
133 }
134 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_1_bw_1_is_2)135 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_1_bw_1_is_2) {
136   TransposeMicrokernelTester()
137     .input_stride(2)
138     .output_stride(1)
139     .block_width(1)
140     .block_height(1)
141     .element_size(1)
142     .iterations(1)
143     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
144 }
145 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_1_bw_1_os_2)146 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_1_bw_1_os_2) {
147   TransposeMicrokernelTester()
148     .input_stride(1)
149     .output_stride(2)
150     .block_width(1)
151     .block_height(1)
152     .element_size(1)
153     .iterations(1)
154     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
155 }
156 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_1_bw_1_is_2_os_2)157 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_1_bw_1_is_2_os_2) {
158   TransposeMicrokernelTester()
159     .input_stride(2)
160     .output_stride(2)
161     .block_width(1)
162     .block_height(1)
163     .element_size(1)
164     .iterations(1)
165     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
166 }
167 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_17_bw_19_ies_12)168 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_17_bw_19_ies_12) {
169   TransposeMicrokernelTester()
170     .input_stride(19)
171     .output_stride(17)
172     .block_width(19)
173     .block_height(17)
174     .element_size(1)
175     .input_element_stride(12)
176     .iterations(1)
177     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
178 }
179 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_3_bw_5_oes_12)180 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_3_bw_5_oes_12) {
181   TransposeMicrokernelTester()
182     .input_stride(5)
183     .output_stride(3)
184     .block_width(5)
185     .block_height(3)
186     .element_size(1)
187     .output_element_stride(12)
188     .iterations(1)
189     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
190 }
191 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_1,bh_7_bw_23_ies_18_oes_14)192 TEST(XX_TRANSPOSEV__1X1_MEMCPY_1, bh_7_bw_23_ies_18_oes_14) {
193   TransposeMicrokernelTester()
194     .input_stride(28)
195     .output_stride(13)
196     .block_width(23)
197     .block_height(7)
198     .element_size(1)
199     .input_element_stride(18)
200     .output_element_stride(14)
201     .iterations(1)
202     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
203 }
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_1_bw_1)204 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_1_bw_1) {
205   TransposeMicrokernelTester()
206     .input_stride(2)
207     .output_stride(2)
208     .block_width(1)
209     .block_height(1)
210     .element_size(3)
211     .iterations(1)
212     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
213 }
214 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_1_2_bw_1_2)215 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_1_2_bw_1_2) {
216   for(size_t i = 1; i <= 2; ++i){
217     for(size_t j = 1; j <= 2; ++j){
218       TransposeMicrokernelTester()
219         .input_stride(j * 3)
220         .output_stride(i * 7)
221         .block_width(j)
222         .block_height(i)
223         .element_size(3)
224         .iterations(1)
225         .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
226     }
227   }
228 }
229 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_1_bw_2)230 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_1_bw_2) {
231   TransposeMicrokernelTester()
232     .input_stride(2)
233     .output_stride(1)
234     .block_width(2)
235     .block_height(1)
236     .element_size(3)
237     .iterations(1)
238     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
239 }
240 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_1_bw_2_2)241 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_1_bw_2_2) {
242   for(size_t i = 2; i < 2; ++i){
243     TransposeMicrokernelTester()
244       .input_stride(i)
245       .output_stride(2)
246       .block_width(i)
247       .block_height(1)
248       .element_size(3)
249       .iterations(1)
250       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
251   }
252 }
253 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_2_bw_2_2)254 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_2_bw_2_2) {
255   for(size_t i = 2; i < 2; ++i){
256     TransposeMicrokernelTester()
257       .input_stride(i)
258       .output_stride(2)
259       .block_width(i)
260       .block_height(2)
261       .element_size(3)
262       .iterations(1)
263       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
264   }
265 }
266 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_2_bw_1)267 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_2_bw_1) {
268   TransposeMicrokernelTester()
269     .input_stride(1)
270     .output_stride(7)
271     .block_width(1)
272     .block_height(2)
273     .element_size(3)
274     .iterations(1)
275     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
276 }
277 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_2_2_bw_1)278 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_2_2_bw_1){
279   for(size_t i = 2; i < 2; ++i){
280     TransposeMicrokernelTester()
281       .input_stride(18)
282       .output_stride(i)
283       .block_width(4)
284       .block_height(i)
285       .element_size(3)
286       .iterations(1)
287       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
288   }
289 }
290 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_2_2_bw_2)291 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_2_2_bw_2){
292   for(size_t i = 2; i < 2; ++i){
293     TransposeMicrokernelTester()
294       .input_stride(2)
295       .output_stride(i)
296       .block_width(2)
297       .block_height(i)
298       .element_size(3)
299       .iterations(1)
300       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
301   }
302 }
303 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_2_2_bw_2_2)304 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_2_2_bw_2_2) {
305   for(size_t i = 2; i < 2; ++i){
306     for(size_t j = 2; j < 2; ++j){
307       TransposeMicrokernelTester()
308         .input_stride(j)
309         .output_stride(i)
310         .block_width(j)
311         .block_height(i)
312         .element_size(3)
313         .iterations(1)
314         .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
315     }
316   }
317 }
318 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_1_bw_1_is_2)319 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_1_bw_1_is_2) {
320   TransposeMicrokernelTester()
321     .input_stride(2)
322     .output_stride(1)
323     .block_width(1)
324     .block_height(1)
325     .element_size(3)
326     .iterations(1)
327     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
328 }
329 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_1_bw_1_os_2)330 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_1_bw_1_os_2) {
331   TransposeMicrokernelTester()
332     .input_stride(1)
333     .output_stride(2)
334     .block_width(1)
335     .block_height(1)
336     .element_size(3)
337     .iterations(1)
338     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
339 }
340 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_1_bw_1_is_2_os_2)341 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_1_bw_1_is_2_os_2) {
342   TransposeMicrokernelTester()
343     .input_stride(2)
344     .output_stride(2)
345     .block_width(1)
346     .block_height(1)
347     .element_size(3)
348     .iterations(1)
349     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
350 }
351 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_17_bw_19_ies_14)352 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_17_bw_19_ies_14) {
353   TransposeMicrokernelTester()
354     .input_stride(19)
355     .output_stride(17)
356     .block_width(19)
357     .block_height(17)
358     .element_size(3)
359     .input_element_stride(14)
360     .iterations(1)
361     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
362 }
363 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_3_bw_5_oes_14)364 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_3_bw_5_oes_14) {
365   TransposeMicrokernelTester()
366     .input_stride(5)
367     .output_stride(3)
368     .block_width(5)
369     .block_height(3)
370     .element_size(3)
371     .output_element_stride(14)
372     .iterations(1)
373     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
374 }
375 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_3,bh_7_bw_23_ies_20_oes_16)376 TEST(XX_TRANSPOSEV__1X1_MEMCPY_3, bh_7_bw_23_ies_20_oes_16) {
377   TransposeMicrokernelTester()
378     .input_stride(28)
379     .output_stride(13)
380     .block_width(23)
381     .block_height(7)
382     .element_size(3)
383     .input_element_stride(20)
384     .output_element_stride(16)
385     .iterations(1)
386     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
387 }
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_1_bw_1)388 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_1_bw_1) {
389   TransposeMicrokernelTester()
390     .input_stride(2)
391     .output_stride(2)
392     .block_width(1)
393     .block_height(1)
394     .element_size(5)
395     .iterations(1)
396     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
397 }
398 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_1_2_bw_1_2)399 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_1_2_bw_1_2) {
400   for(size_t i = 1; i <= 2; ++i){
401     for(size_t j = 1; j <= 2; ++j){
402       TransposeMicrokernelTester()
403         .input_stride(j * 3)
404         .output_stride(i * 7)
405         .block_width(j)
406         .block_height(i)
407         .element_size(5)
408         .iterations(1)
409         .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
410     }
411   }
412 }
413 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_1_bw_2)414 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_1_bw_2) {
415   TransposeMicrokernelTester()
416     .input_stride(2)
417     .output_stride(1)
418     .block_width(2)
419     .block_height(1)
420     .element_size(5)
421     .iterations(1)
422     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
423 }
424 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_1_bw_2_2)425 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_1_bw_2_2) {
426   for(size_t i = 2; i < 2; ++i){
427     TransposeMicrokernelTester()
428       .input_stride(i)
429       .output_stride(2)
430       .block_width(i)
431       .block_height(1)
432       .element_size(5)
433       .iterations(1)
434       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
435   }
436 }
437 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_2_bw_2_2)438 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_2_bw_2_2) {
439   for(size_t i = 2; i < 2; ++i){
440     TransposeMicrokernelTester()
441       .input_stride(i)
442       .output_stride(2)
443       .block_width(i)
444       .block_height(2)
445       .element_size(5)
446       .iterations(1)
447       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
448   }
449 }
450 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_2_bw_1)451 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_2_bw_1) {
452   TransposeMicrokernelTester()
453     .input_stride(1)
454     .output_stride(7)
455     .block_width(1)
456     .block_height(2)
457     .element_size(5)
458     .iterations(1)
459     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
460 }
461 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_2_2_bw_1)462 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_2_2_bw_1){
463   for(size_t i = 2; i < 2; ++i){
464     TransposeMicrokernelTester()
465       .input_stride(18)
466       .output_stride(i)
467       .block_width(4)
468       .block_height(i)
469       .element_size(5)
470       .iterations(1)
471       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
472   }
473 }
474 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_2_2_bw_2)475 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_2_2_bw_2){
476   for(size_t i = 2; i < 2; ++i){
477     TransposeMicrokernelTester()
478       .input_stride(2)
479       .output_stride(i)
480       .block_width(2)
481       .block_height(i)
482       .element_size(5)
483       .iterations(1)
484       .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
485   }
486 }
487 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_2_2_bw_2_2)488 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_2_2_bw_2_2) {
489   for(size_t i = 2; i < 2; ++i){
490     for(size_t j = 2; j < 2; ++j){
491       TransposeMicrokernelTester()
492         .input_stride(j)
493         .output_stride(i)
494         .block_width(j)
495         .block_height(i)
496         .element_size(5)
497         .iterations(1)
498         .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
499     }
500   }
501 }
502 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_1_bw_1_is_2)503 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_1_bw_1_is_2) {
504   TransposeMicrokernelTester()
505     .input_stride(2)
506     .output_stride(1)
507     .block_width(1)
508     .block_height(1)
509     .element_size(5)
510     .iterations(1)
511     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
512 }
513 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_1_bw_1_os_2)514 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_1_bw_1_os_2) {
515   TransposeMicrokernelTester()
516     .input_stride(1)
517     .output_stride(2)
518     .block_width(1)
519     .block_height(1)
520     .element_size(5)
521     .iterations(1)
522     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
523 }
524 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_1_bw_1_is_2_os_2)525 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_1_bw_1_is_2_os_2) {
526   TransposeMicrokernelTester()
527     .input_stride(2)
528     .output_stride(2)
529     .block_width(1)
530     .block_height(1)
531     .element_size(5)
532     .iterations(1)
533     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
534 }
535 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_17_bw_19_ies_16)536 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_17_bw_19_ies_16) {
537   TransposeMicrokernelTester()
538     .input_stride(19)
539     .output_stride(17)
540     .block_width(19)
541     .block_height(17)
542     .element_size(5)
543     .input_element_stride(16)
544     .iterations(1)
545     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
546 }
547 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_3_bw_5_oes_16)548 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_3_bw_5_oes_16) {
549   TransposeMicrokernelTester()
550     .input_stride(5)
551     .output_stride(3)
552     .block_width(5)
553     .block_height(3)
554     .element_size(5)
555     .output_element_stride(16)
556     .iterations(1)
557     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
558 }
559 
TEST(XX_TRANSPOSEV__1X1_MEMCPY_5,bh_7_bw_23_ies_22_oes_18)560 TEST(XX_TRANSPOSEV__1X1_MEMCPY_5, bh_7_bw_23_ies_22_oes_18) {
561   TransposeMicrokernelTester()
562     .input_stride(28)
563     .output_stride(13)
564     .block_width(23)
565     .block_height(7)
566     .element_size(5)
567     .input_element_stride(22)
568     .output_element_stride(18)
569     .iterations(1)
570     .Test(xnn_xx_transposev_ukernel__1x1_memcpy);
571 }