blob: 2104c0bbf7a19e7690d8e2ca7a020126a1a4dc5f [file] [log] [blame]
Georgios Pinitas4074c992018-01-30 18:13:46 +00001/*
2 * Copyright (c) 2018 ARM Limited.
3 *
4 * SPDX-License-Identifier: MIT
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to
8 * deal in the Software without restriction, including without limitation the
9 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 * sell copies of the Software, and to permit persons to whom the Software is
11 * furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in all
14 * copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 * SOFTWARE.
23 */
24#include "arm_compute/core/NEON/kernels/convolution/depthwise/impl_fp32_fp32.hpp"
25
26namespace depthwise
27{
28using Conv = DepthwiseConvolution<4, 4, 3, 3, 2, 2, float, float>;
29using ConvImpl = DepthwiseConvolutionImpl<4, 4, 3, 3, 2, 2, float, float>;
30
31template <>
32const Conv::TileFn Conv::tile_fns
33 [max_in_pad_top]
34 [max_in_pad_left]
35 [max_in_pad_bottom]
36 [max_in_pad_right]
37 [max_out_pad_bottom]
38 [max_out_pad_right] = {
39 { // Input pad top = 0
40 { // Input pad left = 0
41 { // Input pad bottom = 0
42 { // Input pad right = 0
43 { // Output pad bottom = 0
44 Conv::template process_tile<0, 0, 0, 0, 0, 0>,
45 Conv::template process_tile<0, 0, 0, 0, 0, 1>,
46 Conv::template process_tile<0, 0, 0, 0, 0, 2>,
47 Conv::template process_tile<0, 0, 0, 0, 0, 3>,
48 }, // Output pad bottom = 0
49 { // Output pad bottom = 1
50 Conv::template process_tile<0, 0, 0, 0, 1, 0>,
51 Conv::template process_tile<0, 0, 0, 0, 1, 1>,
52 Conv::template process_tile<0, 0, 0, 0, 1, 2>,
53 Conv::template process_tile<0, 0, 0, 0, 1, 3>,
54 }, // Output pad bottom = 1
55 { // Output pad bottom = 2
56 Conv::template process_tile<0, 0, 0, 0, 2, 0>,
57 Conv::template process_tile<0, 0, 0, 0, 2, 1>,
58 Conv::template process_tile<0, 0, 0, 0, 2, 2>,
59 Conv::template process_tile<0, 0, 0, 0, 2, 3>,
60 }, // Output pad bottom = 2
61 { // Output pad bottom = 3
62 Conv::template process_tile<0, 0, 0, 0, 3, 0>,
63 Conv::template process_tile<0, 0, 0, 0, 3, 1>,
64 Conv::template process_tile<0, 0, 0, 0, 3, 2>,
65 Conv::template process_tile<0, 0, 0, 0, 3, 3>,
66 }, // Output pad bottom = 3
67 }, // Input pad right = 0
68 { // Input pad right = 1
69 { // Output pad bottom = 0
70 Conv::template process_tile<0, 0, 0, 1, 0, 0>,
71 Conv::template process_tile<0, 0, 0, 1, 0, 1>,
72 Conv::template process_tile<0, 0, 0, 1, 0, 2>,
73 Conv::template process_tile<0, 0, 0, 1, 0, 3>,
74 }, // Output pad bottom = 0
75 { // Output pad bottom = 1
76 Conv::template process_tile<0, 0, 0, 1, 1, 0>,
77 Conv::template process_tile<0, 0, 0, 1, 1, 1>,
78 Conv::template process_tile<0, 0, 0, 1, 1, 2>,
79 Conv::template process_tile<0, 0, 0, 1, 1, 3>,
80 }, // Output pad bottom = 1
81 { // Output pad bottom = 2
82 Conv::template process_tile<0, 0, 0, 1, 2, 0>,
83 Conv::template process_tile<0, 0, 0, 1, 2, 1>,
84 Conv::template process_tile<0, 0, 0, 1, 2, 2>,
85 Conv::template process_tile<0, 0, 0, 1, 2, 3>,
86 }, // Output pad bottom = 2
87 { // Output pad bottom = 3
88 Conv::template process_tile<0, 0, 0, 1, 3, 0>,
89 Conv::template process_tile<0, 0, 0, 1, 3, 1>,
90 Conv::template process_tile<0, 0, 0, 1, 3, 2>,
91 Conv::template process_tile<0, 0, 0, 1, 3, 3>,
92 }, // Output pad bottom = 3
93 }, // Input pad right = 1
94 { // Input pad right = 2
95 { // Output pad bottom = 0
96 Conv::template process_tile<0, 0, 0, 2, 0, 0>,
97 Conv::template process_tile<0, 0, 0, 2, 0, 1>,
98 Conv::template process_tile<0, 0, 0, 2, 0, 2>,
99 Conv::template process_tile<0, 0, 0, 2, 0, 3>,
100 }, // Output pad bottom = 0
101 { // Output pad bottom = 1
102 Conv::template process_tile<0, 0, 0, 2, 1, 0>,
103 Conv::template process_tile<0, 0, 0, 2, 1, 1>,
104 Conv::template process_tile<0, 0, 0, 2, 1, 2>,
105 Conv::template process_tile<0, 0, 0, 2, 1, 3>,
106 }, // Output pad bottom = 1
107 { // Output pad bottom = 2
108 Conv::template process_tile<0, 0, 0, 2, 2, 0>,
109 Conv::template process_tile<0, 0, 0, 2, 2, 1>,
110 Conv::template process_tile<0, 0, 0, 2, 2, 2>,
111 Conv::template process_tile<0, 0, 0, 2, 2, 3>,
112 }, // Output pad bottom = 2
113 { // Output pad bottom = 3
114 Conv::template process_tile<0, 0, 0, 2, 3, 0>,
115 Conv::template process_tile<0, 0, 0, 2, 3, 1>,
116 Conv::template process_tile<0, 0, 0, 2, 3, 2>,
117 Conv::template process_tile<0, 0, 0, 2, 3, 3>,
118 }, // Output pad bottom = 3
119 }, // Input pad right = 2
120 { // Input pad right = 3
121 { // Output pad bottom = 0
122 Conv::template process_tile<0, 0, 0, 3, 0, 0>,
123 Conv::template process_tile<0, 0, 0, 3, 0, 1>,
124 Conv::template process_tile<0, 0, 0, 3, 0, 2>,
125 Conv::template process_tile<0, 0, 0, 3, 0, 3>,
126 }, // Output pad bottom = 0
127 { // Output pad bottom = 1
128 Conv::template process_tile<0, 0, 0, 3, 1, 0>,
129 Conv::template process_tile<0, 0, 0, 3, 1, 1>,
130 Conv::template process_tile<0, 0, 0, 3, 1, 2>,
131 Conv::template process_tile<0, 0, 0, 3, 1, 3>,
132 }, // Output pad bottom = 1
133 { // Output pad bottom = 2
134 Conv::template process_tile<0, 0, 0, 3, 2, 0>,
135 Conv::template process_tile<0, 0, 0, 3, 2, 1>,
136 Conv::template process_tile<0, 0, 0, 3, 2, 2>,
137 Conv::template process_tile<0, 0, 0, 3, 2, 3>,
138 }, // Output pad bottom = 2
139 { // Output pad bottom = 3
140 Conv::template process_tile<0, 0, 0, 3, 3, 0>,
141 Conv::template process_tile<0, 0, 0, 3, 3, 1>,
142 Conv::template process_tile<0, 0, 0, 3, 3, 2>,
143 Conv::template process_tile<0, 0, 0, 3, 3, 3>,
144 }, // Output pad bottom = 3
145 }, // Input pad right = 3
146 { // Input pad right = 4
147 { // Output pad bottom = 0
148 Conv::template process_tile<0, 0, 0, 4, 0, 0>,
149 Conv::template process_tile<0, 0, 0, 4, 0, 1>,
150 Conv::template process_tile<0, 0, 0, 4, 0, 2>,
151 Conv::template process_tile<0, 0, 0, 4, 0, 3>,
152 }, // Output pad bottom = 0
153 { // Output pad bottom = 1
154 Conv::template process_tile<0, 0, 0, 4, 1, 0>,
155 Conv::template process_tile<0, 0, 0, 4, 1, 1>,
156 Conv::template process_tile<0, 0, 0, 4, 1, 2>,
157 Conv::template process_tile<0, 0, 0, 4, 1, 3>,
158 }, // Output pad bottom = 1
159 { // Output pad bottom = 2
160 Conv::template process_tile<0, 0, 0, 4, 2, 0>,
161 Conv::template process_tile<0, 0, 0, 4, 2, 1>,
162 Conv::template process_tile<0, 0, 0, 4, 2, 2>,
163 Conv::template process_tile<0, 0, 0, 4, 2, 3>,
164 }, // Output pad bottom = 2
165 { // Output pad bottom = 3
166 Conv::template process_tile<0, 0, 0, 4, 3, 0>,
167 Conv::template process_tile<0, 0, 0, 4, 3, 1>,
168 Conv::template process_tile<0, 0, 0, 4, 3, 2>,
169 Conv::template process_tile<0, 0, 0, 4, 3, 3>,
170 }, // Output pad bottom = 3
171 }, // Input pad right = 4
172 { // Input pad right = 5
173 { // Output pad bottom = 0
174 Conv::template process_tile<0, 0, 0, 5, 0, 0>,
175 Conv::template process_tile<0, 0, 0, 5, 0, 1>,
176 Conv::template process_tile<0, 0, 0, 5, 0, 2>,
177 Conv::template process_tile<0, 0, 0, 5, 0, 3>,
178 }, // Output pad bottom = 0
179 { // Output pad bottom = 1
180 Conv::template process_tile<0, 0, 0, 5, 1, 0>,
181 Conv::template process_tile<0, 0, 0, 5, 1, 1>,
182 Conv::template process_tile<0, 0, 0, 5, 1, 2>,
183 Conv::template process_tile<0, 0, 0, 5, 1, 3>,
184 }, // Output pad bottom = 1
185 { // Output pad bottom = 2
186 Conv::template process_tile<0, 0, 0, 5, 2, 0>,
187 Conv::template process_tile<0, 0, 0, 5, 2, 1>,
188 Conv::template process_tile<0, 0, 0, 5, 2, 2>,
189 Conv::template process_tile<0, 0, 0, 5, 2, 3>,
190 }, // Output pad bottom = 2
191 { // Output pad bottom = 3
192 Conv::template process_tile<0, 0, 0, 5, 3, 0>,
193 Conv::template process_tile<0, 0, 0, 5, 3, 1>,
194 Conv::template process_tile<0, 0, 0, 5, 3, 2>,
195 Conv::template process_tile<0, 0, 0, 5, 3, 3>,
196 }, // Output pad bottom = 3
197 }, // Input pad right = 5
198 { // Input pad right = 6
199 { // Output pad bottom = 0
200 Conv::template process_tile<0, 0, 0, 6, 0, 0>,
201 Conv::template process_tile<0, 0, 0, 6, 0, 1>,
202 Conv::template process_tile<0, 0, 0, 6, 0, 2>,
203 Conv::template process_tile<0, 0, 0, 6, 0, 3>,
204 }, // Output pad bottom = 0
205 { // Output pad bottom = 1
206 Conv::template process_tile<0, 0, 0, 6, 1, 0>,
207 Conv::template process_tile<0, 0, 0, 6, 1, 1>,
208 Conv::template process_tile<0, 0, 0, 6, 1, 2>,
209 Conv::template process_tile<0, 0, 0, 6, 1, 3>,
210 }, // Output pad bottom = 1
211 { // Output pad bottom = 2
212 Conv::template process_tile<0, 0, 0, 6, 2, 0>,
213 Conv::template process_tile<0, 0, 0, 6, 2, 1>,
214 Conv::template process_tile<0, 0, 0, 6, 2, 2>,
215 Conv::template process_tile<0, 0, 0, 6, 2, 3>,
216 }, // Output pad bottom = 2
217 { // Output pad bottom = 3
218 Conv::template process_tile<0, 0, 0, 6, 3, 0>,
219 Conv::template process_tile<0, 0, 0, 6, 3, 1>,
220 Conv::template process_tile<0, 0, 0, 6, 3, 2>,
221 Conv::template process_tile<0, 0, 0, 6, 3, 3>,
222 }, // Output pad bottom = 3
223 }, // Input pad right = 6
224 }, // Input pad bottom = 0
225 { // Input pad bottom = 1
226 { // Input pad right = 0
227 { // Output pad bottom = 0
228 Conv::template process_tile<0, 0, 1, 0, 0, 0>,
229 Conv::template process_tile<0, 0, 1, 0, 0, 1>,
230 Conv::template process_tile<0, 0, 1, 0, 0, 2>,
231 Conv::template process_tile<0, 0, 1, 0, 0, 3>,
232 }, // Output pad bottom = 0
233 { // Output pad bottom = 1
234 Conv::template process_tile<0, 0, 1, 0, 1, 0>,
235 Conv::template process_tile<0, 0, 1, 0, 1, 1>,
236 Conv::template process_tile<0, 0, 1, 0, 1, 2>,
237 Conv::template process_tile<0, 0, 1, 0, 1, 3>,
238 }, // Output pad bottom = 1
239 { // Output pad bottom = 2
240 Conv::template process_tile<0, 0, 1, 0, 2, 0>,
241 Conv::template process_tile<0, 0, 1, 0, 2, 1>,
242 Conv::template process_tile<0, 0, 1, 0, 2, 2>,
243 Conv::template process_tile<0, 0, 1, 0, 2, 3>,
244 }, // Output pad bottom = 2
245 { // Output pad bottom = 3
246 Conv::template process_tile<0, 0, 1, 0, 3, 0>,
247 Conv::template process_tile<0, 0, 1, 0, 3, 1>,
248 Conv::template process_tile<0, 0, 1, 0, 3, 2>,
249 Conv::template process_tile<0, 0, 1, 0, 3, 3>,
250 }, // Output pad bottom = 3
251 }, // Input pad right = 0
252 { // Input pad right = 1
253 { // Output pad bottom = 0
254 Conv::template process_tile<0, 0, 1, 1, 0, 0>,
255 Conv::template process_tile<0, 0, 1, 1, 0, 1>,
256 Conv::template process_tile<0, 0, 1, 1, 0, 2>,
257 Conv::template process_tile<0, 0, 1, 1, 0, 3>,
258 }, // Output pad bottom = 0
259 { // Output pad bottom = 1
260 Conv::template process_tile<0, 0, 1, 1, 1, 0>,
261 Conv::template process_tile<0, 0, 1, 1, 1, 1>,
262 Conv::template process_tile<0, 0, 1, 1, 1, 2>,
263 Conv::template process_tile<0, 0, 1, 1, 1, 3>,
264 }, // Output pad bottom = 1
265 { // Output pad bottom = 2
266 Conv::template process_tile<0, 0, 1, 1, 2, 0>,
267 Conv::template process_tile<0, 0, 1, 1, 2, 1>,
268 Conv::template process_tile<0, 0, 1, 1, 2, 2>,
269 Conv::template process_tile<0, 0, 1, 1, 2, 3>,
270 }, // Output pad bottom = 2
271 { // Output pad bottom = 3
272 Conv::template process_tile<0, 0, 1, 1, 3, 0>,
273 Conv::template process_tile<0, 0, 1, 1, 3, 1>,
274 Conv::template process_tile<0, 0, 1, 1, 3, 2>,
275 Conv::template process_tile<0, 0, 1, 1, 3, 3>,
276 }, // Output pad bottom = 3
277 }, // Input pad right = 1
278 { // Input pad right = 2
279 { // Output pad bottom = 0
280 Conv::template process_tile<0, 0, 1, 2, 0, 0>,
281 Conv::template process_tile<0, 0, 1, 2, 0, 1>,
282 Conv::template process_tile<0, 0, 1, 2, 0, 2>,
283 Conv::template process_tile<0, 0, 1, 2, 0, 3>,
284 }, // Output pad bottom = 0
285 { // Output pad bottom = 1
286 Conv::template process_tile<0, 0, 1, 2, 1, 0>,
287 Conv::template process_tile<0, 0, 1, 2, 1, 1>,
288 Conv::template process_tile<0, 0, 1, 2, 1, 2>,
289 Conv::template process_tile<0, 0, 1, 2, 1, 3>,
290 }, // Output pad bottom = 1
291 { // Output pad bottom = 2
292 Conv::template process_tile<0, 0, 1, 2, 2, 0>,
293 Conv::template process_tile<0, 0, 1, 2, 2, 1>,
294 Conv::template process_tile<0, 0, 1, 2, 2, 2>,
295 Conv::template process_tile<0, 0, 1, 2, 2, 3>,
296 }, // Output pad bottom = 2
297 { // Output pad bottom = 3
298 Conv::template process_tile<0, 0, 1, 2, 3, 0>,
299 Conv::template process_tile<0, 0, 1, 2, 3, 1>,
300 Conv::template process_tile<0, 0, 1, 2, 3, 2>,
301 Conv::template process_tile<0, 0, 1, 2, 3, 3>,
302 }, // Output pad bottom = 3
303 }, // Input pad right = 2
304 { // Input pad right = 3
305 { // Output pad bottom = 0
306 Conv::template process_tile<0, 0, 1, 3, 0, 0>,
307 Conv::template process_tile<0, 0, 1, 3, 0, 1>,
308 Conv::template process_tile<0, 0, 1, 3, 0, 2>,
309 Conv::template process_tile<0, 0, 1, 3, 0, 3>,
310 }, // Output pad bottom = 0
311 { // Output pad bottom = 1
312 Conv::template process_tile<0, 0, 1, 3, 1, 0>,
313 Conv::template process_tile<0, 0, 1, 3, 1, 1>,
314 Conv::template process_tile<0, 0, 1, 3, 1, 2>,
315 Conv::template process_tile<0, 0, 1, 3, 1, 3>,
316 }, // Output pad bottom = 1
317 { // Output pad bottom = 2
318 Conv::template process_tile<0, 0, 1, 3, 2, 0>,
319 Conv::template process_tile<0, 0, 1, 3, 2, 1>,
320 Conv::template process_tile<0, 0, 1, 3, 2, 2>,
321 Conv::template process_tile<0, 0, 1, 3, 2, 3>,
322 }, // Output pad bottom = 2
323 { // Output pad bottom = 3
324 Conv::template process_tile<0, 0, 1, 3, 3, 0>,
325 Conv::template process_tile<0, 0, 1, 3, 3, 1>,
326 Conv::template process_tile<0, 0, 1, 3, 3, 2>,
327 Conv::template process_tile<0, 0, 1, 3, 3, 3>,
328 }, // Output pad bottom = 3
329 }, // Input pad right = 3
330 { // Input pad right = 4
331 { // Output pad bottom = 0
332 Conv::template process_tile<0, 0, 1, 4, 0, 0>,
333 Conv::template process_tile<0, 0, 1, 4, 0, 1>,
334 Conv::template process_tile<0, 0, 1, 4, 0, 2>,
335 Conv::template process_tile<0, 0, 1, 4, 0, 3>,
336 }, // Output pad bottom = 0
337 { // Output pad bottom = 1
338 Conv::template process_tile<0, 0, 1, 4, 1, 0>,
339 Conv::template process_tile<0, 0, 1, 4, 1, 1>,
340 Conv::template process_tile<0, 0, 1, 4, 1, 2>,
341 Conv::template process_tile<0, 0, 1, 4, 1, 3>,
342 }, // Output pad bottom = 1
343 { // Output pad bottom = 2
344 Conv::template process_tile<0, 0, 1, 4, 2, 0>,
345 Conv::template process_tile<0, 0, 1, 4, 2, 1>,
346 Conv::template process_tile<0, 0, 1, 4, 2, 2>,
347 Conv::template process_tile<0, 0, 1, 4, 2, 3>,
348 }, // Output pad bottom = 2
349 { // Output pad bottom = 3
350 Conv::template process_tile<0, 0, 1, 4, 3, 0>,
351 Conv::template process_tile<0, 0, 1, 4, 3, 1>,
352 Conv::template process_tile<0, 0, 1, 4, 3, 2>,
353 Conv::template process_tile<0, 0, 1, 4, 3, 3>,
354 }, // Output pad bottom = 3
355 }, // Input pad right = 4
356 { // Input pad right = 5
357 { // Output pad bottom = 0
358 Conv::template process_tile<0, 0, 1, 5, 0, 0>,
359 Conv::template process_tile<0, 0, 1, 5, 0, 1>,
360 Conv::template process_tile<0, 0, 1, 5, 0, 2>,
361 Conv::template process_tile<0, 0, 1, 5, 0, 3>,
362 }, // Output pad bottom = 0
363 { // Output pad bottom = 1
364 Conv::template process_tile<0, 0, 1, 5, 1, 0>,
365 Conv::template process_tile<0, 0, 1, 5, 1, 1>,
366 Conv::template process_tile<0, 0, 1, 5, 1, 2>,
367 Conv::template process_tile<0, 0, 1, 5, 1, 3>,
368 }, // Output pad bottom = 1
369 { // Output pad bottom = 2
370 Conv::template process_tile<0, 0, 1, 5, 2, 0>,
371 Conv::template process_tile<0, 0, 1, 5, 2, 1>,
372 Conv::template process_tile<0, 0, 1, 5, 2, 2>,
373 Conv::template process_tile<0, 0, 1, 5, 2, 3>,
374 }, // Output pad bottom = 2
375 { // Output pad bottom = 3
376 Conv::template process_tile<0, 0, 1, 5, 3, 0>,
377 Conv::template process_tile<0, 0, 1, 5, 3, 1>,
378 Conv::template process_tile<0, 0, 1, 5, 3, 2>,
379 Conv::template process_tile<0, 0, 1, 5, 3, 3>,
380 }, // Output pad bottom = 3
381 }, // Input pad right = 5
382 { // Input pad right = 6
383 { // Output pad bottom = 0
384 Conv::template process_tile<0, 0, 1, 6, 0, 0>,
385 Conv::template process_tile<0, 0, 1, 6, 0, 1>,
386 Conv::template process_tile<0, 0, 1, 6, 0, 2>,
387 Conv::template process_tile<0, 0, 1, 6, 0, 3>,
388 }, // Output pad bottom = 0
389 { // Output pad bottom = 1
390 Conv::template process_tile<0, 0, 1, 6, 1, 0>,
391 Conv::template process_tile<0, 0, 1, 6, 1, 1>,
392 Conv::template process_tile<0, 0, 1, 6, 1, 2>,
393 Conv::template process_tile<0, 0, 1, 6, 1, 3>,
394 }, // Output pad bottom = 1
395 { // Output pad bottom = 2
396 Conv::template process_tile<0, 0, 1, 6, 2, 0>,
397 Conv::template process_tile<0, 0, 1, 6, 2, 1>,
398 Conv::template process_tile<0, 0, 1, 6, 2, 2>,
399 Conv::template process_tile<0, 0, 1, 6, 2, 3>,
400 }, // Output pad bottom = 2
401 { // Output pad bottom = 3
402 Conv::template process_tile<0, 0, 1, 6, 3, 0>,
403 Conv::template process_tile<0, 0, 1, 6, 3, 1>,
404 Conv::template process_tile<0, 0, 1, 6, 3, 2>,
405 Conv::template process_tile<0, 0, 1, 6, 3, 3>,
406 }, // Output pad bottom = 3
407 }, // Input pad right = 6
408 }, // Input pad bottom = 1
409 { // Input pad bottom = 2
410 { // Input pad right = 0
411 { // Output pad bottom = 0
412 Conv::template process_tile<0, 0, 2, 0, 0, 0>,
413 Conv::template process_tile<0, 0, 2, 0, 0, 1>,
414 Conv::template process_tile<0, 0, 2, 0, 0, 2>,
415 Conv::template process_tile<0, 0, 2, 0, 0, 3>,
416 }, // Output pad bottom = 0
417 { // Output pad bottom = 1
418 Conv::template process_tile<0, 0, 2, 0, 1, 0>,
419 Conv::template process_tile<0, 0, 2, 0, 1, 1>,
420 Conv::template process_tile<0, 0, 2, 0, 1, 2>,
421 Conv::template process_tile<0, 0, 2, 0, 1, 3>,
422 }, // Output pad bottom = 1
423 { // Output pad bottom = 2
424 Conv::template process_tile<0, 0, 2, 0, 2, 0>,
425 Conv::template process_tile<0, 0, 2, 0, 2, 1>,
426 Conv::template process_tile<0, 0, 2, 0, 2, 2>,
427 Conv::template process_tile<0, 0, 2, 0, 2, 3>,
428 }, // Output pad bottom = 2
429 { // Output pad bottom = 3
430 Conv::template process_tile<0, 0, 2, 0, 3, 0>,
431 Conv::template process_tile<0, 0, 2, 0, 3, 1>,
432 Conv::template process_tile<0, 0, 2, 0, 3, 2>,
433 Conv::template process_tile<0, 0, 2, 0, 3, 3>,
434 }, // Output pad bottom = 3
435 }, // Input pad right = 0
436 { // Input pad right = 1
437 { // Output pad bottom = 0
438 Conv::template process_tile<0, 0, 2, 1, 0, 0>,
439 Conv::template process_tile<0, 0, 2, 1, 0, 1>,
440 Conv::template process_tile<0, 0, 2, 1, 0, 2>,
441 Conv::template process_tile<0, 0, 2, 1, 0, 3>,
442 }, // Output pad bottom = 0
443 { // Output pad bottom = 1
444 Conv::template process_tile<0, 0, 2, 1, 1, 0>,
445 Conv::template process_tile<0, 0, 2, 1, 1, 1>,
446 Conv::template process_tile<0, 0, 2, 1, 1, 2>,
447 Conv::template process_tile<0, 0, 2, 1, 1, 3>,
448 }, // Output pad bottom = 1
449 { // Output pad bottom = 2
450 Conv::template process_tile<0, 0, 2, 1, 2, 0>,
451 Conv::template process_tile<0, 0, 2, 1, 2, 1>,
452 Conv::template process_tile<0, 0, 2, 1, 2, 2>,
453 Conv::template process_tile<0, 0, 2, 1, 2, 3>,
454 }, // Output pad bottom = 2
455 { // Output pad bottom = 3
456 Conv::template process_tile<0, 0, 2, 1, 3, 0>,
457 Conv::template process_tile<0, 0, 2, 1, 3, 1>,
458 Conv::template process_tile<0, 0, 2, 1, 3, 2>,
459 Conv::template process_tile<0, 0, 2, 1, 3, 3>,
460 }, // Output pad bottom = 3
461 }, // Input pad right = 1
462 { // Input pad right = 2
463 { // Output pad bottom = 0
464 Conv::template process_tile<0, 0, 2, 2, 0, 0>,
465 Conv::template process_tile<0, 0, 2, 2, 0, 1>,
466 Conv::template process_tile<0, 0, 2, 2, 0, 2>,
467 Conv::template process_tile<0, 0, 2, 2, 0, 3>,
468 }, // Output pad bottom = 0
469 { // Output pad bottom = 1
470 Conv::template process_tile<0, 0, 2, 2, 1, 0>,
471 Conv::template process_tile<0, 0, 2, 2, 1, 1>,
472 Conv::template process_tile<0, 0, 2, 2, 1, 2>,
473 Conv::template process_tile<0, 0, 2, 2, 1, 3>,
474 }, // Output pad bottom = 1
475 { // Output pad bottom = 2
476 Conv::template process_tile<0, 0, 2, 2, 2, 0>,
477 Conv::template process_tile<0, 0, 2, 2, 2, 1>,
478 Conv::template process_tile<0, 0, 2, 2, 2, 2>,
479 Conv::template process_tile<0, 0, 2, 2, 2, 3>,
480 }, // Output pad bottom = 2
481 { // Output pad bottom = 3
482 Conv::template process_tile<0, 0, 2, 2, 3, 0>,
483 Conv::template process_tile<0, 0, 2, 2, 3, 1>,
484 Conv::template process_tile<0, 0, 2, 2, 3, 2>,
485 Conv::template process_tile<0, 0, 2, 2, 3, 3>,
486 }, // Output pad bottom = 3
487 }, // Input pad right = 2
488 { // Input pad right = 3
489 { // Output pad bottom = 0
490 Conv::template process_tile<0, 0, 2, 3, 0, 0>,
491 Conv::template process_tile<0, 0, 2, 3, 0, 1>,
492 Conv::template process_tile<0, 0, 2, 3, 0, 2>,
493 Conv::template process_tile<0, 0, 2, 3, 0, 3>,
494 }, // Output pad bottom = 0
495 { // Output pad bottom = 1
496 Conv::template process_tile<0, 0, 2, 3, 1, 0>,
497 Conv::template process_tile<0, 0, 2, 3, 1, 1>,
498 Conv::template process_tile<0, 0, 2, 3, 1, 2>,
499 Conv::template process_tile<0, 0, 2, 3, 1, 3>,
500 }, // Output pad bottom = 1
501 { // Output pad bottom = 2
502 Conv::template process_tile<0, 0, 2, 3, 2, 0>,
503 Conv::template process_tile<0, 0, 2, 3, 2, 1>,
504 Conv::template process_tile<0, 0, 2, 3, 2, 2>,
505 Conv::template process_tile<0, 0, 2, 3, 2, 3>,
506 }, // Output pad bottom = 2
507 { // Output pad bottom = 3
508 Conv::template process_tile<0, 0, 2, 3, 3, 0>,
509 Conv::template process_tile<0, 0, 2, 3, 3, 1>,
510 Conv::template process_tile<0, 0, 2, 3, 3, 2>,
511 Conv::template process_tile<0, 0, 2, 3, 3, 3>,
512 }, // Output pad bottom = 3
513 }, // Input pad right = 3
514 { // Input pad right = 4
515 { // Output pad bottom = 0
516 Conv::template process_tile<0, 0, 2, 4, 0, 0>,
517 Conv::template process_tile<0, 0, 2, 4, 0, 1>,
518 Conv::template process_tile<0, 0, 2, 4, 0, 2>,
519 Conv::template process_tile<0, 0, 2, 4, 0, 3>,
520 }, // Output pad bottom = 0
521 { // Output pad bottom = 1
522 Conv::template process_tile<0, 0, 2, 4, 1, 0>,
523 Conv::template process_tile<0, 0, 2, 4, 1, 1>,
524 Conv::template process_tile<0, 0, 2, 4, 1, 2>,
525 Conv::template process_tile<0, 0, 2, 4, 1, 3>,
526 }, // Output pad bottom = 1
527 { // Output pad bottom = 2
528 Conv::template process_tile<0, 0, 2, 4, 2, 0>,
529 Conv::template process_tile<0, 0, 2, 4, 2, 1>,
530 Conv::template process_tile<0, 0, 2, 4, 2, 2>,
531 Conv::template process_tile<0, 0, 2, 4, 2, 3>,
532 }, // Output pad bottom = 2
533 { // Output pad bottom = 3
534 Conv::template process_tile<0, 0, 2, 4, 3, 0>,
535 Conv::template process_tile<0, 0, 2, 4, 3, 1>,
536 Conv::template process_tile<0, 0, 2, 4, 3, 2>,
537 Conv::template process_tile<0, 0, 2, 4, 3, 3>,
538 }, // Output pad bottom = 3
539 }, // Input pad right = 4
540 { // Input pad right = 5
541 { // Output pad bottom = 0
542 Conv::template process_tile<0, 0, 2, 5, 0, 0>,
543 Conv::template process_tile<0, 0, 2, 5, 0, 1>,
544 Conv::template process_tile<0, 0, 2, 5, 0, 2>,
545 Conv::template process_tile<0, 0, 2, 5, 0, 3>,
546 }, // Output pad bottom = 0
547 { // Output pad bottom = 1
548 Conv::template process_tile<0, 0, 2, 5, 1, 0>,
549 Conv::template process_tile<0, 0, 2, 5, 1, 1>,
550 Conv::template process_tile<0, 0, 2, 5, 1, 2>,
551 Conv::template process_tile<0, 0, 2, 5, 1, 3>,
552 }, // Output pad bottom = 1
553 { // Output pad bottom = 2
554 Conv::template process_tile<0, 0, 2, 5, 2, 0>,
555 Conv::template process_tile<0, 0, 2, 5, 2, 1>,
556 Conv::template process_tile<0, 0, 2, 5, 2, 2>,
557 Conv::template process_tile<0, 0, 2, 5, 2, 3>,
558 }, // Output pad bottom = 2
559 { // Output pad bottom = 3
560 Conv::template process_tile<0, 0, 2, 5, 3, 0>,
561 Conv::template process_tile<0, 0, 2, 5, 3, 1>,
562 Conv::template process_tile<0, 0, 2, 5, 3, 2>,
563 Conv::template process_tile<0, 0, 2, 5, 3, 3>,
564 }, // Output pad bottom = 3
565 }, // Input pad right = 5
566 { // Input pad right = 6
567 { // Output pad bottom = 0
568 Conv::template process_tile<0, 0, 2, 6, 0, 0>,
569 Conv::template process_tile<0, 0, 2, 6, 0, 1>,
570 Conv::template process_tile<0, 0, 2, 6, 0, 2>,
571 Conv::template process_tile<0, 0, 2, 6, 0, 3>,
572 }, // Output pad bottom = 0
573 { // Output pad bottom = 1
574 Conv::template process_tile<0, 0, 2, 6, 1, 0>,
575 Conv::template process_tile<0, 0, 2, 6, 1, 1>,
576 Conv::template process_tile<0, 0, 2, 6, 1, 2>,
577 Conv::template process_tile<0, 0, 2, 6, 1, 3>,
578 }, // Output pad bottom = 1
579 { // Output pad bottom = 2
580 Conv::template process_tile<0, 0, 2, 6, 2, 0>,
581 Conv::template process_tile<0, 0, 2, 6, 2, 1>,
582 Conv::template process_tile<0, 0, 2, 6, 2, 2>,
583 Conv::template process_tile<0, 0, 2, 6, 2, 3>,
584 }, // Output pad bottom = 2
585 { // Output pad bottom = 3
586 Conv::template process_tile<0, 0, 2, 6, 3, 0>,
587 Conv::template process_tile<0, 0, 2, 6, 3, 1>,
588 Conv::template process_tile<0, 0, 2, 6, 3, 2>,
589 Conv::template process_tile<0, 0, 2, 6, 3, 3>,
590 }, // Output pad bottom = 3
591 }, // Input pad right = 6
592 }, // Input pad bottom = 2
593 { // Input pad bottom = 3
594 { // Input pad right = 0
595 { // Output pad bottom = 0
596 Conv::template process_tile<0, 0, 3, 0, 0, 0>,
597 Conv::template process_tile<0, 0, 3, 0, 0, 1>,
598 Conv::template process_tile<0, 0, 3, 0, 0, 2>,
599 Conv::template process_tile<0, 0, 3, 0, 0, 3>,
600 }, // Output pad bottom = 0
601 { // Output pad bottom = 1
602 Conv::template process_tile<0, 0, 3, 0, 1, 0>,
603 Conv::template process_tile<0, 0, 3, 0, 1, 1>,
604 Conv::template process_tile<0, 0, 3, 0, 1, 2>,
605 Conv::template process_tile<0, 0, 3, 0, 1, 3>,
606 }, // Output pad bottom = 1
607 { // Output pad bottom = 2
608 Conv::template process_tile<0, 0, 3, 0, 2, 0>,
609 Conv::template process_tile<0, 0, 3, 0, 2, 1>,
610 Conv::template process_tile<0, 0, 3, 0, 2, 2>,
611 Conv::template process_tile<0, 0, 3, 0, 2, 3>,
612 }, // Output pad bottom = 2
613 { // Output pad bottom = 3
614 Conv::template process_tile<0, 0, 3, 0, 3, 0>,
615 Conv::template process_tile<0, 0, 3, 0, 3, 1>,
616 Conv::template process_tile<0, 0, 3, 0, 3, 2>,
617 Conv::template process_tile<0, 0, 3, 0, 3, 3>,
618 }, // Output pad bottom = 3
619 }, // Input pad right = 0
620 { // Input pad right = 1
621 { // Output pad bottom = 0
622 Conv::template process_tile<0, 0, 3, 1, 0, 0>,
623 Conv::template process_tile<0, 0, 3, 1, 0, 1>,
624 Conv::template process_tile<0, 0, 3, 1, 0, 2>,
625 Conv::template process_tile<0, 0, 3, 1, 0, 3>,
626 }, // Output pad bottom = 0
627 { // Output pad bottom = 1
628 Conv::template process_tile<0, 0, 3, 1, 1, 0>,
629 Conv::template process_tile<0, 0, 3, 1, 1, 1>,
630 Conv::template process_tile<0, 0, 3, 1, 1, 2>,
631 Conv::template process_tile<0, 0, 3, 1, 1, 3>,
632 }, // Output pad bottom = 1
633 { // Output pad bottom = 2
634 Conv::template process_tile<0, 0, 3, 1, 2, 0>,
635 Conv::template process_tile<0, 0, 3, 1, 2, 1>,
636 Conv::template process_tile<0, 0, 3, 1, 2, 2>,
637 Conv::template process_tile<0, 0, 3, 1, 2, 3>,
638 }, // Output pad bottom = 2
639 { // Output pad bottom = 3
640 Conv::template process_tile<0, 0, 3, 1, 3, 0>,
641 Conv::template process_tile<0, 0, 3, 1, 3, 1>,
642 Conv::template process_tile<0, 0, 3, 1, 3, 2>,
643 Conv::template process_tile<0, 0, 3, 1, 3, 3>,
644 }, // Output pad bottom = 3
645 }, // Input pad right = 1
646 { // Input pad right = 2
647 { // Output pad bottom = 0
648 Conv::template process_tile<0, 0, 3, 2, 0, 0>,
649 Conv::template process_tile<0, 0, 3, 2, 0, 1>,
650 Conv::template process_tile<0, 0, 3, 2, 0, 2>,
651 Conv::template process_tile<0, 0, 3, 2, 0, 3>,
652 }, // Output pad bottom = 0
653 { // Output pad bottom = 1
654 Conv::template process_tile<0, 0, 3, 2, 1, 0>,
655 Conv::template process_tile<0, 0, 3, 2, 1, 1>,
656 Conv::template process_tile<0, 0, 3, 2, 1, 2>,
657 Conv::template process_tile<0, 0, 3, 2, 1, 3>,
658 }, // Output pad bottom = 1
659 { // Output pad bottom = 2
660 Conv::template process_tile<0, 0, 3, 2, 2, 0>,
661 Conv::template process_tile<0, 0, 3, 2, 2, 1>,
662 Conv::template process_tile<0, 0, 3, 2, 2, 2>,
663 Conv::template process_tile<0, 0, 3, 2, 2, 3>,
664 }, // Output pad bottom = 2
665 { // Output pad bottom = 3
666 Conv::template process_tile<0, 0, 3, 2, 3, 0>,
667 Conv::template process_tile<0, 0, 3, 2, 3, 1>,
668 Conv::template process_tile<0, 0, 3, 2, 3, 2>,
669 Conv::template process_tile<0, 0, 3, 2, 3, 3>,
670 }, // Output pad bottom = 3
671 }, // Input pad right = 2
672 { // Input pad right = 3
673 { // Output pad bottom = 0
674 Conv::template process_tile<0, 0, 3, 3, 0, 0>,
675 Conv::template process_tile<0, 0, 3, 3, 0, 1>,
676 Conv::template process_tile<0, 0, 3, 3, 0, 2>,
677 Conv::template process_tile<0, 0, 3, 3, 0, 3>,
678 }, // Output pad bottom = 0
679 { // Output pad bottom = 1
680 Conv::template process_tile<0, 0, 3, 3, 1, 0>,
681 Conv::template process_tile<0, 0, 3, 3, 1, 1>,
682 Conv::template process_tile<0, 0, 3, 3, 1, 2>,
683 Conv::template process_tile<0, 0, 3, 3, 1, 3>,
684 }, // Output pad bottom = 1
685 { // Output pad bottom = 2
686 Conv::template process_tile<0, 0, 3, 3, 2, 0>,
687 Conv::template process_tile<0, 0, 3, 3, 2, 1>,
688 Conv::template process_tile<0, 0, 3, 3, 2, 2>,
689 Conv::template process_tile<0, 0, 3, 3, 2, 3>,
690 }, // Output pad bottom = 2
691 { // Output pad bottom = 3
692 Conv::template process_tile<0, 0, 3, 3, 3, 0>,
693 Conv::template process_tile<0, 0, 3, 3, 3, 1>,
694 Conv::template process_tile<0, 0, 3, 3, 3, 2>,
695 Conv::template process_tile<0, 0, 3, 3, 3, 3>,
696 }, // Output pad bottom = 3
697 }, // Input pad right = 3
698 { // Input pad right = 4
699 { // Output pad bottom = 0
700 Conv::template process_tile<0, 0, 3, 4, 0, 0>,
701 Conv::template process_tile<0, 0, 3, 4, 0, 1>,
702 Conv::template process_tile<0, 0, 3, 4, 0, 2>,
703 Conv::template process_tile<0, 0, 3, 4, 0, 3>,
704 }, // Output pad bottom = 0
705 { // Output pad bottom = 1
706 Conv::template process_tile<0, 0, 3, 4, 1, 0>,
707 Conv::template process_tile<0, 0, 3, 4, 1, 1>,
708 Conv::template process_tile<0, 0, 3, 4, 1, 2>,
709 Conv::template process_tile<0, 0, 3, 4, 1, 3>,
710 }, // Output pad bottom = 1
711 { // Output pad bottom = 2
712 Conv::template process_tile<0, 0, 3, 4, 2, 0>,
713 Conv::template process_tile<0, 0, 3, 4, 2, 1>,
714 Conv::template process_tile<0, 0, 3, 4, 2, 2>,
715 Conv::template process_tile<0, 0, 3, 4, 2, 3>,
716 }, // Output pad bottom = 2
717 { // Output pad bottom = 3
718 Conv::template process_tile<0, 0, 3, 4, 3, 0>,
719 Conv::template process_tile<0, 0, 3, 4, 3, 1>,
720 Conv::template process_tile<0, 0, 3, 4, 3, 2>,
721 Conv::template process_tile<0, 0, 3, 4, 3, 3>,
722 }, // Output pad bottom = 3
723 }, // Input pad right = 4
724 { // Input pad right = 5
725 { // Output pad bottom = 0
726 Conv::template process_tile<0, 0, 3, 5, 0, 0>,
727 Conv::template process_tile<0, 0, 3, 5, 0, 1>,
728 Conv::template process_tile<0, 0, 3, 5, 0, 2>,
729 Conv::template process_tile<0, 0, 3, 5, 0, 3>,
730 }, // Output pad bottom = 0
731 { // Output pad bottom = 1
732 Conv::template process_tile<0, 0, 3, 5, 1, 0>,
733 Conv::template process_tile<0, 0, 3, 5, 1, 1>,
734 Conv::template process_tile<0, 0, 3, 5, 1, 2>,
735 Conv::template process_tile<0, 0, 3, 5, 1, 3>,
736 }, // Output pad bottom = 1
737 { // Output pad bottom = 2
738 Conv::template process_tile<0, 0, 3, 5, 2, 0>,
739 Conv::template process_tile<0, 0, 3, 5, 2, 1>,
740 Conv::template process_tile<0, 0, 3, 5, 2, 2>,
741 Conv::template process_tile<0, 0, 3, 5, 2, 3>,
742 }, // Output pad bottom = 2
743 { // Output pad bottom = 3
744 Conv::template process_tile<0, 0, 3, 5, 3, 0>,
745 Conv::template process_tile<0, 0, 3, 5, 3, 1>,
746 Conv::template process_tile<0, 0, 3, 5, 3, 2>,
747 Conv::template process_tile<0, 0, 3, 5, 3, 3>,
748 }, // Output pad bottom = 3
749 }, // Input pad right = 5
750 { // Input pad right = 6
751 { // Output pad bottom = 0
752 Conv::template process_tile<0, 0, 3, 6, 0, 0>,
753 Conv::template process_tile<0, 0, 3, 6, 0, 1>,
754 Conv::template process_tile<0, 0, 3, 6, 0, 2>,
755 Conv::template process_tile<0, 0, 3, 6, 0, 3>,
756 }, // Output pad bottom = 0
757 { // Output pad bottom = 1
758 Conv::template process_tile<0, 0, 3, 6, 1, 0>,
759 Conv::template process_tile<0, 0, 3, 6, 1, 1>,
760 Conv::template process_tile<0, 0, 3, 6, 1, 2>,
761 Conv::template process_tile<0, 0, 3, 6, 1, 3>,
762 }, // Output pad bottom = 1
763 { // Output pad bottom = 2
764 Conv::template process_tile<0, 0, 3, 6, 2, 0>,
765 Conv::template process_tile<0, 0, 3, 6, 2, 1>,
766 Conv::template process_tile<0, 0, 3, 6, 2, 2>,
767 Conv::template process_tile<0, 0, 3, 6, 2, 3>,
768 }, // Output pad bottom = 2
769 { // Output pad bottom = 3
770 Conv::template process_tile<0, 0, 3, 6, 3, 0>,
771 Conv::template process_tile<0, 0, 3, 6, 3, 1>,
772 Conv::template process_tile<0, 0, 3, 6, 3, 2>,
773 Conv::template process_tile<0, 0, 3, 6, 3, 3>,
774 }, // Output pad bottom = 3
775 }, // Input pad right = 6
776 }, // Input pad bottom = 3
777 { // Input pad bottom = 4
778 { // Input pad right = 0
779 { // Output pad bottom = 0
780 Conv::template process_tile<0, 0, 4, 0, 0, 0>,
781 Conv::template process_tile<0, 0, 4, 0, 0, 1>,
782 Conv::template process_tile<0, 0, 4, 0, 0, 2>,
783 Conv::template process_tile<0, 0, 4, 0, 0, 3>,
784 }, // Output pad bottom = 0
785 { // Output pad bottom = 1
786 Conv::template process_tile<0, 0, 4, 0, 1, 0>,
787 Conv::template process_tile<0, 0, 4, 0, 1, 1>,
788 Conv::template process_tile<0, 0, 4, 0, 1, 2>,
789 Conv::template process_tile<0, 0, 4, 0, 1, 3>,
790 }, // Output pad bottom = 1
791 { // Output pad bottom = 2
792 Conv::template process_tile<0, 0, 4, 0, 2, 0>,
793 Conv::template process_tile<0, 0, 4, 0, 2, 1>,
794 Conv::template process_tile<0, 0, 4, 0, 2, 2>,
795 Conv::template process_tile<0, 0, 4, 0, 2, 3>,
796 }, // Output pad bottom = 2
797 { // Output pad bottom = 3
798 Conv::template process_tile<0, 0, 4, 0, 3, 0>,
799 Conv::template process_tile<0, 0, 4, 0, 3, 1>,
800 Conv::template process_tile<0, 0, 4, 0, 3, 2>,
801 Conv::template process_tile<0, 0, 4, 0, 3, 3>,
802 }, // Output pad bottom = 3
803 }, // Input pad right = 0
804 { // Input pad right = 1
805 { // Output pad bottom = 0
806 Conv::template process_tile<0, 0, 4, 1, 0, 0>,
807 Conv::template process_tile<0, 0, 4, 1, 0, 1>,
808 Conv::template process_tile<0, 0, 4, 1, 0, 2>,
809 Conv::template process_tile<0, 0, 4, 1, 0, 3>,
810 }, // Output pad bottom = 0
811 { // Output pad bottom = 1
812 Conv::template process_tile<0, 0, 4, 1, 1, 0>,
813 Conv::template process_tile<0, 0, 4, 1, 1, 1>,
814 Conv::template process_tile<0, 0, 4, 1, 1, 2>,
815 Conv::template process_tile<0, 0, 4, 1, 1, 3>,
816 }, // Output pad bottom = 1
817 { // Output pad bottom = 2
818 Conv::template process_tile<0, 0, 4, 1, 2, 0>,
819 Conv::template process_tile<0, 0, 4, 1, 2, 1>,
820 Conv::template process_tile<0, 0, 4, 1, 2, 2>,
821 Conv::template process_tile<0, 0, 4, 1, 2, 3>,
822 }, // Output pad bottom = 2
823 { // Output pad bottom = 3
824 Conv::template process_tile<0, 0, 4, 1, 3, 0>,
825 Conv::template process_tile<0, 0, 4, 1, 3, 1>,
826 Conv::template process_tile<0, 0, 4, 1, 3, 2>,
827 Conv::template process_tile<0, 0, 4, 1, 3, 3>,
828 }, // Output pad bottom = 3
829 }, // Input pad right = 1
830 { // Input pad right = 2
831 { // Output pad bottom = 0
832 Conv::template process_tile<0, 0, 4, 2, 0, 0>,
833 Conv::template process_tile<0, 0, 4, 2, 0, 1>,
834 Conv::template process_tile<0, 0, 4, 2, 0, 2>,
835 Conv::template process_tile<0, 0, 4, 2, 0, 3>,
836 }, // Output pad bottom = 0
837 { // Output pad bottom = 1
838 Conv::template process_tile<0, 0, 4, 2, 1, 0>,
839 Conv::template process_tile<0, 0, 4, 2, 1, 1>,
840 Conv::template process_tile<0, 0, 4, 2, 1, 2>,
841 Conv::template process_tile<0, 0, 4, 2, 1, 3>,
842 }, // Output pad bottom = 1
843 { // Output pad bottom = 2
844 Conv::template process_tile<0, 0, 4, 2, 2, 0>,
845 Conv::template process_tile<0, 0, 4, 2, 2, 1>,
846 Conv::template process_tile<0, 0, 4, 2, 2, 2>,
847 Conv::template process_tile<0, 0, 4, 2, 2, 3>,
848 }, // Output pad bottom = 2
849 { // Output pad bottom = 3
850 Conv::template process_tile<0, 0, 4, 2, 3, 0>,
851 Conv::template process_tile<0, 0, 4, 2, 3, 1>,
852 Conv::template process_tile<0, 0, 4, 2, 3, 2>,
853 Conv::template process_tile<0, 0, 4, 2, 3, 3>,
854 }, // Output pad bottom = 3
855 }, // Input pad right = 2
856 { // Input pad right = 3
857 { // Output pad bottom = 0
858 Conv::template process_tile<0, 0, 4, 3, 0, 0>,
859 Conv::template process_tile<0, 0, 4, 3, 0, 1>,
860 Conv::template process_tile<0, 0, 4, 3, 0, 2>,
861 Conv::template process_tile<0, 0, 4, 3, 0, 3>,
862 }, // Output pad bottom = 0
863 { // Output pad bottom = 1
864 Conv::template process_tile<0, 0, 4, 3, 1, 0>,
865 Conv::template process_tile<0, 0, 4, 3, 1, 1>,
866 Conv::template process_tile<0, 0, 4, 3, 1, 2>,
867 Conv::template process_tile<0, 0, 4, 3, 1, 3>,
868 }, // Output pad bottom = 1
869 { // Output pad bottom = 2
870 Conv::template process_tile<0, 0, 4, 3, 2, 0>,
871 Conv::template process_tile<0, 0, 4, 3, 2, 1>,
872 Conv::template process_tile<0, 0, 4, 3, 2, 2>,
873 Conv::template process_tile<0, 0, 4, 3, 2, 3>,
874 }, // Output pad bottom = 2
875 { // Output pad bottom = 3
876 Conv::template process_tile<0, 0, 4, 3, 3, 0>,
877 Conv::template process_tile<0, 0, 4, 3, 3, 1>,
878 Conv::template process_tile<0, 0, 4, 3, 3, 2>,
879 Conv::template process_tile<0, 0, 4, 3, 3, 3>,
880 }, // Output pad bottom = 3
881 }, // Input pad right = 3
882 { // Input pad right = 4
883 { // Output pad bottom = 0
884 Conv::template process_tile<0, 0, 4, 4, 0, 0>,
885 Conv::template process_tile<0, 0, 4, 4, 0, 1>,
886 Conv::template process_tile<0, 0, 4, 4, 0, 2>,
887 Conv::template process_tile<0, 0, 4, 4, 0, 3>,
888 }, // Output pad bottom = 0
889 { // Output pad bottom = 1
890 Conv::template process_tile<0, 0, 4, 4, 1, 0>,
891 Conv::template process_tile<0, 0, 4, 4, 1, 1>,
892 Conv::template process_tile<0, 0, 4, 4, 1, 2>,
893 Conv::template process_tile<0, 0, 4, 4, 1, 3>,
894 }, // Output pad bottom = 1
895 { // Output pad bottom = 2
896 Conv::template process_tile<0, 0, 4, 4, 2, 0>,
897 Conv::template process_tile<0, 0, 4, 4, 2, 1>,
898 Conv::template process_tile<0, 0, 4, 4, 2, 2>,
899 Conv::template process_tile<0, 0, 4, 4, 2, 3>,
900 }, // Output pad bottom = 2
901 { // Output pad bottom = 3
902 Conv::template process_tile<0, 0, 4, 4, 3, 0>,
903 Conv::template process_tile<0, 0, 4, 4, 3, 1>,
904 Conv::template process_tile<0, 0, 4, 4, 3, 2>,
905 Conv::template process_tile<0, 0, 4, 4, 3, 3>,
906 }, // Output pad bottom = 3
907 }, // Input pad right = 4
908 { // Input pad right = 5
909 { // Output pad bottom = 0
910 Conv::template process_tile<0, 0, 4, 5, 0, 0>,
911 Conv::template process_tile<0, 0, 4, 5, 0, 1>,
912 Conv::template process_tile<0, 0, 4, 5, 0, 2>,
913 Conv::template process_tile<0, 0, 4, 5, 0, 3>,
914 }, // Output pad bottom = 0
915 { // Output pad bottom = 1
916 Conv::template process_tile<0, 0, 4, 5, 1, 0>,
917 Conv::template process_tile<0, 0, 4, 5, 1, 1>,
918 Conv::template process_tile<0, 0, 4, 5, 1, 2>,
919 Conv::template process_tile<0, 0, 4, 5, 1, 3>,
920 }, // Output pad bottom = 1
921 { // Output pad bottom = 2
922 Conv::template process_tile<0, 0, 4, 5, 2, 0>,
923 Conv::template process_tile<0, 0, 4, 5, 2, 1>,
924 Conv::template process_tile<0, 0, 4, 5, 2, 2>,
925 Conv::template process_tile<0, 0, 4, 5, 2, 3>,
926 }, // Output pad bottom = 2
927 { // Output pad bottom = 3
928 Conv::template process_tile<0, 0, 4, 5, 3, 0>,
929 Conv::template process_tile<0, 0, 4, 5, 3, 1>,
930 Conv::template process_tile<0, 0, 4, 5, 3, 2>,
931 Conv::template process_tile<0, 0, 4, 5, 3, 3>,
932 }, // Output pad bottom = 3
933 }, // Input pad right = 5
934 { // Input pad right = 6
935 { // Output pad bottom = 0
936 Conv::template process_tile<0, 0, 4, 6, 0, 0>,
937 Conv::template process_tile<0, 0, 4, 6, 0, 1>,
938 Conv::template process_tile<0, 0, 4, 6, 0, 2>,
939 Conv::template process_tile<0, 0, 4, 6, 0, 3>,
940 }, // Output pad bottom = 0
941 { // Output pad bottom = 1
942 Conv::template process_tile<0, 0, 4, 6, 1, 0>,
943 Conv::template process_tile<0, 0, 4, 6, 1, 1>,
944 Conv::template process_tile<0, 0, 4, 6, 1, 2>,
945 Conv::template process_tile<0, 0, 4, 6, 1, 3>,
946 }, // Output pad bottom = 1
947 { // Output pad bottom = 2
948 Conv::template process_tile<0, 0, 4, 6, 2, 0>,
949 Conv::template process_tile<0, 0, 4, 6, 2, 1>,
950 Conv::template process_tile<0, 0, 4, 6, 2, 2>,
951 Conv::template process_tile<0, 0, 4, 6, 2, 3>,
952 }, // Output pad bottom = 2
953 { // Output pad bottom = 3
954 Conv::template process_tile<0, 0, 4, 6, 3, 0>,
955 Conv::template process_tile<0, 0, 4, 6, 3, 1>,
956 Conv::template process_tile<0, 0, 4, 6, 3, 2>,
957 Conv::template process_tile<0, 0, 4, 6, 3, 3>,
958 }, // Output pad bottom = 3
959 }, // Input pad right = 6
960 }, // Input pad bottom = 4
961 { // Input pad bottom = 5
962 { // Input pad right = 0
963 { // Output pad bottom = 0
964 Conv::template process_tile<0, 0, 5, 0, 0, 0>,
965 Conv::template process_tile<0, 0, 5, 0, 0, 1>,
966 Conv::template process_tile<0, 0, 5, 0, 0, 2>,
967 Conv::template process_tile<0, 0, 5, 0, 0, 3>,
968 }, // Output pad bottom = 0
969 { // Output pad bottom = 1
970 Conv::template process_tile<0, 0, 5, 0, 1, 0>,
971 Conv::template process_tile<0, 0, 5, 0, 1, 1>,
972 Conv::template process_tile<0, 0, 5, 0, 1, 2>,
973 Conv::template process_tile<0, 0, 5, 0, 1, 3>,
974 }, // Output pad bottom = 1
975 { // Output pad bottom = 2
976 Conv::template process_tile<0, 0, 5, 0, 2, 0>,
977 Conv::template process_tile<0, 0, 5, 0, 2, 1>,
978 Conv::template process_tile<0, 0, 5, 0, 2, 2>,
979 Conv::template process_tile<0, 0, 5, 0, 2, 3>,
980 }, // Output pad bottom = 2
981 { // Output pad bottom = 3
982 Conv::template process_tile<0, 0, 5, 0, 3, 0>,
983 Conv::template process_tile<0, 0, 5, 0, 3, 1>,
984 Conv::template process_tile<0, 0, 5, 0, 3, 2>,
985 Conv::template process_tile<0, 0, 5, 0, 3, 3>,
986 }, // Output pad bottom = 3
987 }, // Input pad right = 0
988 { // Input pad right = 1
989 { // Output pad bottom = 0
990 Conv::template process_tile<0, 0, 5, 1, 0, 0>,
991 Conv::template process_tile<0, 0, 5, 1, 0, 1>,
992 Conv::template process_tile<0, 0, 5, 1, 0, 2>,
993 Conv::template process_tile<0, 0, 5, 1, 0, 3>,
994 }, // Output pad bottom = 0
995 { // Output pad bottom = 1
996 Conv::template process_tile<0, 0, 5, 1, 1, 0>,
997 Conv::template process_tile<0, 0, 5, 1, 1, 1>,
998 Conv::template process_tile<0, 0, 5, 1, 1, 2>,
999 Conv::template process_tile<0, 0, 5, 1, 1, 3>,
1000 }, // Output pad bottom = 1
1001 { // Output pad bottom = 2
1002 Conv::template process_tile<0, 0, 5, 1, 2, 0>,
1003 Conv::template process_tile<0, 0, 5, 1, 2, 1>,
1004 Conv::template process_tile<0, 0, 5, 1, 2, 2>,
1005 Conv::template process_tile<0, 0, 5, 1, 2, 3>,
1006 }, // Output pad bottom = 2
1007 { // Output pad bottom = 3
1008 Conv::template process_tile<0, 0, 5, 1, 3, 0>,
1009 Conv::template process_tile<0, 0, 5, 1, 3, 1>,
1010 Conv::template process_tile<0, 0, 5, 1, 3, 2>,
1011 Conv::template process_tile<0, 0, 5, 1, 3, 3>,
1012 }, // Output pad bottom = 3
1013 }, // Input pad right = 1
1014 { // Input pad right = 2
1015 { // Output pad bottom = 0
1016 Conv::template process_tile<0, 0, 5, 2, 0, 0>,
1017 Conv::template process_tile<0, 0, 5, 2, 0, 1>,
1018 Conv::template process_tile<0, 0, 5, 2, 0, 2>,
1019 Conv::template process_tile<0, 0, 5, 2, 0, 3>,
1020 }, // Output pad bottom = 0
1021 { // Output pad bottom = 1
1022 Conv::template process_tile<0, 0, 5, 2, 1, 0>,
1023 Conv::template process_tile<0, 0, 5, 2, 1, 1>,
1024 Conv::template process_tile<0, 0, 5, 2, 1, 2>,
1025 Conv::template process_tile<0, 0, 5, 2, 1, 3>,
1026 }, // Output pad bottom = 1
1027 { // Output pad bottom = 2
1028 Conv::template process_tile<0, 0, 5, 2, 2, 0>,
1029 Conv::template process_tile<0, 0, 5, 2, 2, 1>,
1030 Conv::template process_tile<0, 0, 5, 2, 2, 2>,
1031 Conv::template process_tile<0, 0, 5, 2, 2, 3>,
1032 }, // Output pad bottom = 2
1033 { // Output pad bottom = 3
1034 Conv::template process_tile<0, 0, 5, 2, 3, 0>,
1035 Conv::template process_tile<0, 0, 5, 2, 3, 1>,
1036 Conv::template process_tile<0, 0, 5, 2, 3, 2>,
1037 Conv::template process_tile<0, 0, 5, 2, 3, 3>,
1038 }, // Output pad bottom = 3
1039 }, // Input pad right = 2
1040 { // Input pad right = 3
1041 { // Output pad bottom = 0
1042 Conv::template process_tile<0, 0, 5, 3, 0, 0>,
1043 Conv::template process_tile<0, 0, 5, 3, 0, 1>,
1044 Conv::template process_tile<0, 0, 5, 3, 0, 2>,
1045 Conv::template process_tile<0, 0, 5, 3, 0, 3>,
1046 }, // Output pad bottom = 0
1047 { // Output pad bottom = 1
1048 Conv::template process_tile<0, 0, 5, 3, 1, 0>,
1049 Conv::template process_tile<0, 0, 5, 3, 1, 1>,
1050 Conv::template process_tile<0, 0, 5, 3, 1, 2>,
1051 Conv::template process_tile<0, 0, 5, 3, 1, 3>,
1052 }, // Output pad bottom = 1
1053 { // Output pad bottom = 2
1054 Conv::template process_tile<0, 0, 5, 3, 2, 0>,
1055 Conv::template process_tile<0, 0, 5, 3, 2, 1>,
1056 Conv::template process_tile<0, 0, 5, 3, 2, 2>,
1057 Conv::template process_tile<0, 0, 5, 3, 2, 3>,
1058 }, // Output pad bottom = 2
1059 { // Output pad bottom = 3
1060 Conv::template process_tile<0, 0, 5, 3, 3, 0>,
1061 Conv::template process_tile<0, 0, 5, 3, 3, 1>,
1062 Conv::template process_tile<0, 0, 5, 3, 3, 2>,
1063 Conv::template process_tile<0, 0, 5, 3, 3, 3>,
1064 }, // Output pad bottom = 3
1065 }, // Input pad right = 3
1066 { // Input pad right = 4
1067 { // Output pad bottom = 0
1068 Conv::template process_tile<0, 0, 5, 4, 0, 0>,
1069 Conv::template process_tile<0, 0, 5, 4, 0, 1>,
1070 Conv::template process_tile<0, 0, 5, 4, 0, 2>,
1071 Conv::template process_tile<0, 0, 5, 4, 0, 3>,
1072 }, // Output pad bottom = 0
1073 { // Output pad bottom = 1
1074 Conv::template process_tile<0, 0, 5, 4, 1, 0>,
1075 Conv::template process_tile<0, 0, 5, 4, 1, 1>,
1076 Conv::template process_tile<0, 0, 5, 4, 1, 2>,
1077 Conv::template process_tile<0, 0, 5, 4, 1, 3>,
1078 }, // Output pad bottom = 1
1079 { // Output pad bottom = 2
1080 Conv::template process_tile<0, 0, 5, 4, 2, 0>,
1081 Conv::template process_tile<0, 0, 5, 4, 2, 1>,
1082 Conv::template process_tile<0, 0, 5, 4, 2, 2>,
1083 Conv::template process_tile<0, 0, 5, 4, 2, 3>,
1084 }, // Output pad bottom = 2
1085 { // Output pad bottom = 3
1086 Conv::template process_tile<0, 0, 5, 4, 3, 0>,
1087 Conv::template process_tile<0, 0, 5, 4, 3, 1>,
1088 Conv::template process_tile<0, 0, 5, 4, 3, 2>,
1089 Conv::template process_tile<0, 0, 5, 4, 3, 3>,
1090 }, // Output pad bottom = 3
1091 }, // Input pad right = 4
1092 { // Input pad right = 5
1093 { // Output pad bottom = 0
1094 Conv::template process_tile<0, 0, 5, 5, 0, 0>,
1095 Conv::template process_tile<0, 0, 5, 5, 0, 1>,
1096 Conv::template process_tile<0, 0, 5, 5, 0, 2>,
1097 Conv::template process_tile<0, 0, 5, 5, 0, 3>,
1098 }, // Output pad bottom = 0
1099 { // Output pad bottom = 1
1100 Conv::template process_tile<0, 0, 5, 5, 1, 0>,
1101 Conv::template process_tile<0, 0, 5, 5, 1, 1>,
1102 Conv::template process_tile<0, 0, 5, 5, 1, 2>,
1103 Conv::template process_tile<0, 0, 5, 5, 1, 3>,
1104 }, // Output pad bottom = 1
1105 { // Output pad bottom = 2
1106 Conv::template process_tile<0, 0, 5, 5, 2, 0>,
1107 Conv::template process_tile<0, 0, 5, 5, 2, 1>,
1108 Conv::template process_tile<0, 0, 5, 5, 2, 2>,
1109 Conv::template process_tile<0, 0, 5, 5, 2, 3>,
1110 }, // Output pad bottom = 2
1111 { // Output pad bottom = 3
1112 Conv::template process_tile<0, 0, 5, 5, 3, 0>,
1113 Conv::template process_tile<0, 0, 5, 5, 3, 1>,
1114 Conv::template process_tile<0, 0, 5, 5, 3, 2>,
1115 Conv::template process_tile<0, 0, 5, 5, 3, 3>,
1116 }, // Output pad bottom = 3
1117 }, // Input pad right = 5
1118 { // Input pad right = 6
1119 { // Output pad bottom = 0
1120 Conv::template process_tile<0, 0, 5, 6, 0, 0>,
1121 Conv::template process_tile<0, 0, 5, 6, 0, 1>,
1122 Conv::template process_tile<0, 0, 5, 6, 0, 2>,
1123 Conv::template process_tile<0, 0, 5, 6, 0, 3>,
1124 }, // Output pad bottom = 0
1125 { // Output pad bottom = 1
1126 Conv::template process_tile<0, 0, 5, 6, 1, 0>,
1127 Conv::template process_tile<0, 0, 5, 6, 1, 1>,
1128 Conv::template process_tile<0, 0, 5, 6, 1, 2>,
1129 Conv::template process_tile<0, 0, 5, 6, 1, 3>,
1130 }, // Output pad bottom = 1
1131 { // Output pad bottom = 2
1132 Conv::template process_tile<0, 0, 5, 6, 2, 0>,
1133 Conv::template process_tile<0, 0, 5, 6, 2, 1>,
1134 Conv::template process_tile<0, 0, 5, 6, 2, 2>,
1135 Conv::template process_tile<0, 0, 5, 6, 2, 3>,
1136 }, // Output pad bottom = 2
1137 { // Output pad bottom = 3
1138 Conv::template process_tile<0, 0, 5, 6, 3, 0>,
1139 Conv::template process_tile<0, 0, 5, 6, 3, 1>,
1140 Conv::template process_tile<0, 0, 5, 6, 3, 2>,
1141 Conv::template process_tile<0, 0, 5, 6, 3, 3>,
1142 }, // Output pad bottom = 3
1143 }, // Input pad right = 6
1144 }, // Input pad bottom = 5
1145 { // Input pad bottom = 6
1146 { // Input pad right = 0
1147 { // Output pad bottom = 0
1148 Conv::template process_tile<0, 0, 6, 0, 0, 0>,
1149 Conv::template process_tile<0, 0, 6, 0, 0, 1>,
1150 Conv::template process_tile<0, 0, 6, 0, 0, 2>,
1151 Conv::template process_tile<0, 0, 6, 0, 0, 3>,
1152 }, // Output pad bottom = 0
1153 { // Output pad bottom = 1
1154 Conv::template process_tile<0, 0, 6, 0, 1, 0>,
1155 Conv::template process_tile<0, 0, 6, 0, 1, 1>,
1156 Conv::template process_tile<0, 0, 6, 0, 1, 2>,
1157 Conv::template process_tile<0, 0, 6, 0, 1, 3>,
1158 }, // Output pad bottom = 1
1159 { // Output pad bottom = 2
1160 Conv::template process_tile<0, 0, 6, 0, 2, 0>,
1161 Conv::template process_tile<0, 0, 6, 0, 2, 1>,
1162 Conv::template process_tile<0, 0, 6, 0, 2, 2>,
1163 Conv::template process_tile<0, 0, 6, 0, 2, 3>,
1164 }, // Output pad bottom = 2
1165 { // Output pad bottom = 3
1166 Conv::template process_tile<0, 0, 6, 0, 3, 0>,
1167 Conv::template process_tile<0, 0, 6, 0, 3, 1>,
1168 Conv::template process_tile<0, 0, 6, 0, 3, 2>,
1169 Conv::template process_tile<0, 0, 6, 0, 3, 3>,
1170 }, // Output pad bottom = 3
1171 }, // Input pad right = 0
1172 { // Input pad right = 1
1173 { // Output pad bottom = 0
1174 Conv::template process_tile<0, 0, 6, 1, 0, 0>,
1175 Conv::template process_tile<0, 0, 6, 1, 0, 1>,
1176 Conv::template process_tile<0, 0, 6, 1, 0, 2>,
1177 Conv::template process_tile<0, 0, 6, 1, 0, 3>,
1178 }, // Output pad bottom = 0
1179 { // Output pad bottom = 1
1180 Conv::template process_tile<0, 0, 6, 1, 1, 0>,
1181 Conv::template process_tile<0, 0, 6, 1, 1, 1>,
1182 Conv::template process_tile<0, 0, 6, 1, 1, 2>,
1183 Conv::template process_tile<0, 0, 6, 1, 1, 3>,
1184 }, // Output pad bottom = 1
1185 { // Output pad bottom = 2
1186 Conv::template process_tile<0, 0, 6, 1, 2, 0>,
1187 Conv::template process_tile<0, 0, 6, 1, 2, 1>,
1188 Conv::template process_tile<0, 0, 6, 1, 2, 2>,
1189 Conv::template process_tile<0, 0, 6, 1, 2, 3>,
1190 }, // Output pad bottom = 2
1191 { // Output pad bottom = 3
1192 Conv::template process_tile<0, 0, 6, 1, 3, 0>,
1193 Conv::template process_tile<0, 0, 6, 1, 3, 1>,
1194 Conv::template process_tile<0, 0, 6, 1, 3, 2>,
1195 Conv::template process_tile<0, 0, 6, 1, 3, 3>,
1196 }, // Output pad bottom = 3
1197 }, // Input pad right = 1
1198 { // Input pad right = 2
1199 { // Output pad bottom = 0
1200 Conv::template process_tile<0, 0, 6, 2, 0, 0>,
1201 Conv::template process_tile<0, 0, 6, 2, 0, 1>,
1202 Conv::template process_tile<0, 0, 6, 2, 0, 2>,
1203 Conv::template process_tile<0, 0, 6, 2, 0, 3>,
1204 }, // Output pad bottom = 0
1205 { // Output pad bottom = 1
1206 Conv::template process_tile<0, 0, 6, 2, 1, 0>,
1207 Conv::template process_tile<0, 0, 6, 2, 1, 1>,
1208 Conv::template process_tile<0, 0, 6, 2, 1, 2>,
1209 Conv::template process_tile<0, 0, 6, 2, 1, 3>,
1210 }, // Output pad bottom = 1
1211 { // Output pad bottom = 2
1212 Conv::template process_tile<0, 0, 6, 2, 2, 0>,
1213 Conv::template process_tile<0, 0, 6, 2, 2, 1>,
1214 Conv::template process_tile<0, 0, 6, 2, 2, 2>,
1215 Conv::template process_tile<0, 0, 6, 2, 2, 3>,
1216 }, // Output pad bottom = 2
1217 { // Output pad bottom = 3
1218 Conv::template process_tile<0, 0, 6, 2, 3, 0>,
1219 Conv::template process_tile<0, 0, 6, 2, 3, 1>,
1220 Conv::template process_tile<0, 0, 6, 2, 3, 2>,
1221 Conv::template process_tile<0, 0, 6, 2, 3, 3>,
1222 }, // Output pad bottom = 3
1223 }, // Input pad right = 2
1224 { // Input pad right = 3
1225 { // Output pad bottom = 0
1226 Conv::template process_tile<0, 0, 6, 3, 0, 0>,
1227 Conv::template process_tile<0, 0, 6, 3, 0, 1>,
1228 Conv::template process_tile<0, 0, 6, 3, 0, 2>,
1229 Conv::template process_tile<0, 0, 6, 3, 0, 3>,
1230 }, // Output pad bottom = 0
1231 { // Output pad bottom = 1
1232 Conv::template process_tile<0, 0, 6, 3, 1, 0>,
1233 Conv::template process_tile<0, 0, 6, 3, 1, 1>,
1234 Conv::template process_tile<0, 0, 6, 3, 1, 2>,
1235 Conv::template process_tile<0, 0, 6, 3, 1, 3>,
1236 }, // Output pad bottom = 1
1237 { // Output pad bottom = 2
1238 Conv::template process_tile<0, 0, 6, 3, 2, 0>,
1239 Conv::template process_tile<0, 0, 6, 3, 2, 1>,
1240 Conv::template process_tile<0, 0, 6, 3, 2, 2>,
1241 Conv::template process_tile<0, 0, 6, 3, 2, 3>,
1242 }, // Output pad bottom = 2
1243 { // Output pad bottom = 3
1244 Conv::template process_tile<0, 0, 6, 3, 3, 0>,
1245 Conv::template process_tile<0, 0, 6, 3, 3, 1>,
1246 Conv::template process_tile<0, 0, 6, 3, 3, 2>,
1247 Conv::template process_tile<0, 0, 6, 3, 3, 3>,
1248 }, // Output pad bottom = 3
1249 }, // Input pad right = 3
1250 { // Input pad right = 4
1251 { // Output pad bottom = 0
1252 Conv::template process_tile<0, 0, 6, 4, 0, 0>,
1253 Conv::template process_tile<0, 0, 6, 4, 0, 1>,
1254 Conv::template process_tile<0, 0, 6, 4, 0, 2>,
1255 Conv::template process_tile<0, 0, 6, 4, 0, 3>,
1256 }, // Output pad bottom = 0
1257 { // Output pad bottom = 1
1258 Conv::template process_tile<0, 0, 6, 4, 1, 0>,
1259 Conv::template process_tile<0, 0, 6, 4, 1, 1>,
1260 Conv::template process_tile<0, 0, 6, 4, 1, 2>,
1261 Conv::template process_tile<0, 0, 6, 4, 1, 3>,
1262 }, // Output pad bottom = 1
1263 { // Output pad bottom = 2
1264 Conv::template process_tile<0, 0, 6, 4, 2, 0>,
1265 Conv::template process_tile<0, 0, 6, 4, 2, 1>,
1266 Conv::template process_tile<0, 0, 6, 4, 2, 2>,
1267 Conv::template process_tile<0, 0, 6, 4, 2, 3>,
1268 }, // Output pad bottom = 2
1269 { // Output pad bottom = 3
1270 Conv::template process_tile<0, 0, 6, 4, 3, 0>,
1271 Conv::template process_tile<0, 0, 6, 4, 3, 1>,
1272 Conv::template process_tile<0, 0, 6, 4, 3, 2>,
1273 Conv::template process_tile<0, 0, 6, 4, 3, 3>,
1274 }, // Output pad bottom = 3
1275 }, // Input pad right = 4
1276 { // Input pad right = 5
1277 { // Output pad bottom = 0
1278 Conv::template process_tile<0, 0, 6, 5, 0, 0>,
1279 Conv::template process_tile<0, 0, 6, 5, 0, 1>,
1280 Conv::template process_tile<0, 0, 6, 5, 0, 2>,
1281 Conv::template process_tile<0, 0, 6, 5, 0, 3>,
1282 }, // Output pad bottom = 0
1283 { // Output pad bottom = 1
1284 Conv::template process_tile<0, 0, 6, 5, 1, 0>,
1285 Conv::template process_tile<0, 0, 6, 5, 1, 1>,
1286 Conv::template process_tile<0, 0, 6, 5, 1, 2>,
1287 Conv::template process_tile<0, 0, 6, 5, 1, 3>,
1288 }, // Output pad bottom = 1
1289 { // Output pad bottom = 2
1290 Conv::template process_tile<0, 0, 6, 5, 2, 0>,
1291 Conv::template process_tile<0, 0, 6, 5, 2, 1>,
1292 Conv::template process_tile<0, 0, 6, 5, 2, 2>,
1293 Conv::template process_tile<0, 0, 6, 5, 2, 3>,
1294 }, // Output pad bottom = 2
1295 { // Output pad bottom = 3
1296 Conv::template process_tile<0, 0, 6, 5, 3, 0>,
1297 Conv::template process_tile<0, 0, 6, 5, 3, 1>,
1298 Conv::template process_tile<0, 0, 6, 5, 3, 2>,
1299 Conv::template process_tile<0, 0, 6, 5, 3, 3>,
1300 }, // Output pad bottom = 3
1301 }, // Input pad right = 5
1302 { // Input pad right = 6
1303 { // Output pad bottom = 0
1304 Conv::template process_tile<0, 0, 6, 6, 0, 0>,
1305 Conv::template process_tile<0, 0, 6, 6, 0, 1>,
1306 Conv::template process_tile<0, 0, 6, 6, 0, 2>,
1307 Conv::template process_tile<0, 0, 6, 6, 0, 3>,
1308 }, // Output pad bottom = 0
1309 { // Output pad bottom = 1
1310 Conv::template process_tile<0, 0, 6, 6, 1, 0>,
1311 Conv::template process_tile<0, 0, 6, 6, 1, 1>,
1312 Conv::template process_tile<0, 0, 6, 6, 1, 2>,
1313 Conv::template process_tile<0, 0, 6, 6, 1, 3>,
1314 }, // Output pad bottom = 1
1315 { // Output pad bottom = 2
1316 Conv::template process_tile<0, 0, 6, 6, 2, 0>,
1317 Conv::template process_tile<0, 0, 6, 6, 2, 1>,
1318 Conv::template process_tile<0, 0, 6, 6, 2, 2>,
1319 Conv::template process_tile<0, 0, 6, 6, 2, 3>,
1320 }, // Output pad bottom = 2
1321 { // Output pad bottom = 3
1322 Conv::template process_tile<0, 0, 6, 6, 3, 0>,
1323 Conv::template process_tile<0, 0, 6, 6, 3, 1>,
1324 Conv::template process_tile<0, 0, 6, 6, 3, 2>,
1325 Conv::template process_tile<0, 0, 6, 6, 3, 3>,
1326 }, // Output pad bottom = 3
1327 }, // Input pad right = 6
1328 }, // Input pad bottom = 6
1329 }, // Input pad left = 0
1330 { // Input pad left = 1
1331 { // Input pad bottom = 0
1332 { // Input pad right = 0
1333 { // Output pad bottom = 0
1334 Conv::template process_tile<0, 1, 0, 0, 0, 0>,
1335 Conv::template process_tile<0, 1, 0, 0, 0, 1>,
1336 Conv::template process_tile<0, 1, 0, 0, 0, 2>,
1337 Conv::template process_tile<0, 1, 0, 0, 0, 3>,
1338 }, // Output pad bottom = 0
1339 { // Output pad bottom = 1
1340 Conv::template process_tile<0, 1, 0, 0, 1, 0>,
1341 Conv::template process_tile<0, 1, 0, 0, 1, 1>,
1342 Conv::template process_tile<0, 1, 0, 0, 1, 2>,
1343 Conv::template process_tile<0, 1, 0, 0, 1, 3>,
1344 }, // Output pad bottom = 1
1345 { // Output pad bottom = 2
1346 Conv::template process_tile<0, 1, 0, 0, 2, 0>,
1347 Conv::template process_tile<0, 1, 0, 0, 2, 1>,
1348 Conv::template process_tile<0, 1, 0, 0, 2, 2>,
1349 Conv::template process_tile<0, 1, 0, 0, 2, 3>,
1350 }, // Output pad bottom = 2
1351 { // Output pad bottom = 3
1352 Conv::template process_tile<0, 1, 0, 0, 3, 0>,
1353 Conv::template process_tile<0, 1, 0, 0, 3, 1>,
1354 Conv::template process_tile<0, 1, 0, 0, 3, 2>,
1355 Conv::template process_tile<0, 1, 0, 0, 3, 3>,
1356 }, // Output pad bottom = 3
1357 }, // Input pad right = 0
1358 { // Input pad right = 1
1359 { // Output pad bottom = 0
1360 Conv::template process_tile<0, 1, 0, 1, 0, 0>,
1361 Conv::template process_tile<0, 1, 0, 1, 0, 1>,
1362 Conv::template process_tile<0, 1, 0, 1, 0, 2>,
1363 Conv::template process_tile<0, 1, 0, 1, 0, 3>,
1364 }, // Output pad bottom = 0
1365 { // Output pad bottom = 1
1366 Conv::template process_tile<0, 1, 0, 1, 1, 0>,
1367 Conv::template process_tile<0, 1, 0, 1, 1, 1>,
1368 Conv::template process_tile<0, 1, 0, 1, 1, 2>,
1369 Conv::template process_tile<0, 1, 0, 1, 1, 3>,
1370 }, // Output pad bottom = 1
1371 { // Output pad bottom = 2
1372 Conv::template process_tile<0, 1, 0, 1, 2, 0>,
1373 Conv::template process_tile<0, 1, 0, 1, 2, 1>,
1374 Conv::template process_tile<0, 1, 0, 1, 2, 2>,
1375 Conv::template process_tile<0, 1, 0, 1, 2, 3>,
1376 }, // Output pad bottom = 2
1377 { // Output pad bottom = 3
1378 Conv::template process_tile<0, 1, 0, 1, 3, 0>,
1379 Conv::template process_tile<0, 1, 0, 1, 3, 1>,
1380 Conv::template process_tile<0, 1, 0, 1, 3, 2>,
1381 Conv::template process_tile<0, 1, 0, 1, 3, 3>,
1382 }, // Output pad bottom = 3
1383 }, // Input pad right = 1
1384 { // Input pad right = 2
1385 { // Output pad bottom = 0
1386 Conv::template process_tile<0, 1, 0, 2, 0, 0>,
1387 Conv::template process_tile<0, 1, 0, 2, 0, 1>,
1388 Conv::template process_tile<0, 1, 0, 2, 0, 2>,
1389 Conv::template process_tile<0, 1, 0, 2, 0, 3>,
1390 }, // Output pad bottom = 0
1391 { // Output pad bottom = 1
1392 Conv::template process_tile<0, 1, 0, 2, 1, 0>,
1393 Conv::template process_tile<0, 1, 0, 2, 1, 1>,
1394 Conv::template process_tile<0, 1, 0, 2, 1, 2>,
1395 Conv::template process_tile<0, 1, 0, 2, 1, 3>,
1396 }, // Output pad bottom = 1
1397 { // Output pad bottom = 2
1398 Conv::template process_tile<0, 1, 0, 2, 2, 0>,
1399 Conv::template process_tile<0, 1, 0, 2, 2, 1>,
1400 Conv::template process_tile<0, 1, 0, 2, 2, 2>,
1401 Conv::template process_tile<0, 1, 0, 2, 2, 3>,
1402 }, // Output pad bottom = 2
1403 { // Output pad bottom = 3
1404 Conv::template process_tile<0, 1, 0, 2, 3, 0>,
1405 Conv::template process_tile<0, 1, 0, 2, 3, 1>,
1406 Conv::template process_tile<0, 1, 0, 2, 3, 2>,
1407 Conv::template process_tile<0, 1, 0, 2, 3, 3>,
1408 }, // Output pad bottom = 3
1409 }, // Input pad right = 2
1410 { // Input pad right = 3
1411 { // Output pad bottom = 0
1412 Conv::template process_tile<0, 1, 0, 3, 0, 0>,
1413 Conv::template process_tile<0, 1, 0, 3, 0, 1>,
1414 Conv::template process_tile<0, 1, 0, 3, 0, 2>,
1415 Conv::template process_tile<0, 1, 0, 3, 0, 3>,
1416 }, // Output pad bottom = 0
1417 { // Output pad bottom = 1
1418 Conv::template process_tile<0, 1, 0, 3, 1, 0>,
1419 Conv::template process_tile<0, 1, 0, 3, 1, 1>,
1420 Conv::template process_tile<0, 1, 0, 3, 1, 2>,
1421 Conv::template process_tile<0, 1, 0, 3, 1, 3>,
1422 }, // Output pad bottom = 1
1423 { // Output pad bottom = 2
1424 Conv::template process_tile<0, 1, 0, 3, 2, 0>,
1425 Conv::template process_tile<0, 1, 0, 3, 2, 1>,
1426 Conv::template process_tile<0, 1, 0, 3, 2, 2>,
1427 Conv::template process_tile<0, 1, 0, 3, 2, 3>,
1428 }, // Output pad bottom = 2
1429 { // Output pad bottom = 3
1430 Conv::template process_tile<0, 1, 0, 3, 3, 0>,
1431 Conv::template process_tile<0, 1, 0, 3, 3, 1>,
1432 Conv::template process_tile<0, 1, 0, 3, 3, 2>,
1433 Conv::template process_tile<0, 1, 0, 3, 3, 3>,
1434 }, // Output pad bottom = 3
1435 }, // Input pad right = 3
1436 { // Input pad right = 4
1437 { // Output pad bottom = 0
1438 Conv::template process_tile<0, 1, 0, 4, 0, 0>,
1439 Conv::template process_tile<0, 1, 0, 4, 0, 1>,
1440 Conv::template process_tile<0, 1, 0, 4, 0, 2>,
1441 Conv::template process_tile<0, 1, 0, 4, 0, 3>,
1442 }, // Output pad bottom = 0
1443 { // Output pad bottom = 1
1444 Conv::template process_tile<0, 1, 0, 4, 1, 0>,
1445 Conv::template process_tile<0, 1, 0, 4, 1, 1>,
1446 Conv::template process_tile<0, 1, 0, 4, 1, 2>,
1447 Conv::template process_tile<0, 1, 0, 4, 1, 3>,
1448 }, // Output pad bottom = 1
1449 { // Output pad bottom = 2
1450 Conv::template process_tile<0, 1, 0, 4, 2, 0>,
1451 Conv::template process_tile<0, 1, 0, 4, 2, 1>,
1452 Conv::template process_tile<0, 1, 0, 4, 2, 2>,
1453 Conv::template process_tile<0, 1, 0, 4, 2, 3>,
1454 }, // Output pad bottom = 2
1455 { // Output pad bottom = 3
1456 Conv::template process_tile<0, 1, 0, 4, 3, 0>,
1457 Conv::template process_tile<0, 1, 0, 4, 3, 1>,
1458 Conv::template process_tile<0, 1, 0, 4, 3, 2>,
1459 Conv::template process_tile<0, 1, 0, 4, 3, 3>,
1460 }, // Output pad bottom = 3
1461 }, // Input pad right = 4
1462 { // Input pad right = 5
1463 { // Output pad bottom = 0
1464 Conv::template process_tile<0, 1, 0, 5, 0, 0>,
1465 Conv::template process_tile<0, 1, 0, 5, 0, 1>,
1466 Conv::template process_tile<0, 1, 0, 5, 0, 2>,
1467 Conv::template process_tile<0, 1, 0, 5, 0, 3>,
1468 }, // Output pad bottom = 0
1469 { // Output pad bottom = 1
1470 Conv::template process_tile<0, 1, 0, 5, 1, 0>,
1471 Conv::template process_tile<0, 1, 0, 5, 1, 1>,
1472 Conv::template process_tile<0, 1, 0, 5, 1, 2>,
1473 Conv::template process_tile<0, 1, 0, 5, 1, 3>,
1474 }, // Output pad bottom = 1
1475 { // Output pad bottom = 2
1476 Conv::template process_tile<0, 1, 0, 5, 2, 0>,
1477 Conv::template process_tile<0, 1, 0, 5, 2, 1>,
1478 Conv::template process_tile<0, 1, 0, 5, 2, 2>,
1479 Conv::template process_tile<0, 1, 0, 5, 2, 3>,
1480 }, // Output pad bottom = 2
1481 { // Output pad bottom = 3
1482 Conv::template process_tile<0, 1, 0, 5, 3, 0>,
1483 Conv::template process_tile<0, 1, 0, 5, 3, 1>,
1484 Conv::template process_tile<0, 1, 0, 5, 3, 2>,
1485 Conv::template process_tile<0, 1, 0, 5, 3, 3>,
1486 }, // Output pad bottom = 3
1487 }, // Input pad right = 5
1488 { // Input pad right = 6
1489 { // Output pad bottom = 0
1490 Conv::template process_tile<0, 1, 0, 6, 0, 0>,
1491 Conv::template process_tile<0, 1, 0, 6, 0, 1>,
1492 Conv::template process_tile<0, 1, 0, 6, 0, 2>,
1493 Conv::template process_tile<0, 1, 0, 6, 0, 3>,
1494 }, // Output pad bottom = 0
1495 { // Output pad bottom = 1
1496 Conv::template process_tile<0, 1, 0, 6, 1, 0>,
1497 Conv::template process_tile<0, 1, 0, 6, 1, 1>,
1498 Conv::template process_tile<0, 1, 0, 6, 1, 2>,
1499 Conv::template process_tile<0, 1, 0, 6, 1, 3>,
1500 }, // Output pad bottom = 1
1501 { // Output pad bottom = 2
1502 Conv::template process_tile<0, 1, 0, 6, 2, 0>,
1503 Conv::template process_tile<0, 1, 0, 6, 2, 1>,
1504 Conv::template process_tile<0, 1, 0, 6, 2, 2>,
1505 Conv::template process_tile<0, 1, 0, 6, 2, 3>,
1506 }, // Output pad bottom = 2
1507 { // Output pad bottom = 3
1508 Conv::template process_tile<0, 1, 0, 6, 3, 0>,
1509 Conv::template process_tile<0, 1, 0, 6, 3, 1>,
1510 Conv::template process_tile<0, 1, 0, 6, 3, 2>,
1511 Conv::template process_tile<0, 1, 0, 6, 3, 3>,
1512 }, // Output pad bottom = 3
1513 }, // Input pad right = 6
1514 }, // Input pad bottom = 0
1515 { // Input pad bottom = 1
1516 { // Input pad right = 0
1517 { // Output pad bottom = 0
1518 Conv::template process_tile<0, 1, 1, 0, 0, 0>,
1519 Conv::template process_tile<0, 1, 1, 0, 0, 1>,
1520 Conv::template process_tile<0, 1, 1, 0, 0, 2>,
1521 Conv::template process_tile<0, 1, 1, 0, 0, 3>,
1522 }, // Output pad bottom = 0
1523 { // Output pad bottom = 1
1524 Conv::template process_tile<0, 1, 1, 0, 1, 0>,
1525 Conv::template process_tile<0, 1, 1, 0, 1, 1>,
1526 Conv::template process_tile<0, 1, 1, 0, 1, 2>,
1527 Conv::template process_tile<0, 1, 1, 0, 1, 3>,
1528 }, // Output pad bottom = 1
1529 { // Output pad bottom = 2
1530 Conv::template process_tile<0, 1, 1, 0, 2, 0>,
1531 Conv::template process_tile<0, 1, 1, 0, 2, 1>,
1532 Conv::template process_tile<0, 1, 1, 0, 2, 2>,
1533 Conv::template process_tile<0, 1, 1, 0, 2, 3>,
1534 }, // Output pad bottom = 2
1535 { // Output pad bottom = 3
1536 Conv::template process_tile<0, 1, 1, 0, 3, 0>,
1537 Conv::template process_tile<0, 1, 1, 0, 3, 1>,
1538 Conv::template process_tile<0, 1, 1, 0, 3, 2>,
1539 Conv::template process_tile<0, 1, 1, 0, 3, 3>,
1540 }, // Output pad bottom = 3
1541 }, // Input pad right = 0
1542 { // Input pad right = 1
1543 { // Output pad bottom = 0
1544 Conv::template process_tile<0, 1, 1, 1, 0, 0>,
1545 Conv::template process_tile<0, 1, 1, 1, 0, 1>,
1546 Conv::template process_tile<0, 1, 1, 1, 0, 2>,
1547 Conv::template process_tile<0, 1, 1, 1, 0, 3>,
1548 }, // Output pad bottom = 0
1549 { // Output pad bottom = 1
1550 Conv::template process_tile<0, 1, 1, 1, 1, 0>,
1551 Conv::template process_tile<0, 1, 1, 1, 1, 1>,
1552 Conv::template process_tile<0, 1, 1, 1, 1, 2>,
1553 Conv::template process_tile<0, 1, 1, 1, 1, 3>,
1554 }, // Output pad bottom = 1
1555 { // Output pad bottom = 2
1556 Conv::template process_tile<0, 1, 1, 1, 2, 0>,
1557 Conv::template process_tile<0, 1, 1, 1, 2, 1>,
1558 Conv::template process_tile<0, 1, 1, 1, 2, 2>,
1559 Conv::template process_tile<0, 1, 1, 1, 2, 3>,
1560 }, // Output pad bottom = 2
1561 { // Output pad bottom = 3
1562 Conv::template process_tile<0, 1, 1, 1, 3, 0>,
1563 Conv::template process_tile<0, 1, 1, 1, 3, 1>,
1564 Conv::template process_tile<0, 1, 1, 1, 3, 2>,
1565 Conv::template process_tile<0, 1, 1, 1, 3, 3>,
1566 }, // Output pad bottom = 3
1567 }, // Input pad right = 1
1568 { // Input pad right = 2
1569 { // Output pad bottom = 0
1570 Conv::template process_tile<0, 1, 1, 2, 0, 0>,
1571 Conv::template process_tile<0, 1, 1, 2, 0, 1>,
1572 Conv::template process_tile<0, 1, 1, 2, 0, 2>,
1573 Conv::template process_tile<0, 1, 1, 2, 0, 3>,
1574 }, // Output pad bottom = 0
1575 { // Output pad bottom = 1
1576 Conv::template process_tile<0, 1, 1, 2, 1, 0>,
1577 Conv::template process_tile<0, 1, 1, 2, 1, 1>,
1578 Conv::template process_tile<0, 1, 1, 2, 1, 2>,
1579 Conv::template process_tile<0, 1, 1, 2, 1, 3>,
1580 }, // Output pad bottom = 1
1581 { // Output pad bottom = 2
1582 Conv::template process_tile<0, 1, 1, 2, 2, 0>,
1583 Conv::template process_tile<0, 1, 1, 2, 2, 1>,
1584 Conv::template process_tile<0, 1, 1, 2, 2, 2>,
1585 Conv::template process_tile<0, 1, 1, 2, 2, 3>,
1586 }, // Output pad bottom = 2
1587 { // Output pad bottom = 3
1588 Conv::template process_tile<0, 1, 1, 2, 3, 0>,
1589 Conv::template process_tile<0, 1, 1, 2, 3, 1>,
1590 Conv::template process_tile<0, 1, 1, 2, 3, 2>,
1591 Conv::template process_tile<0, 1, 1, 2, 3, 3>,
1592 }, // Output pad bottom = 3
1593 }, // Input pad right = 2
1594 { // Input pad right = 3
1595 { // Output pad bottom = 0
1596 Conv::template process_tile<0, 1, 1, 3, 0, 0>,
1597 Conv::template process_tile<0, 1, 1, 3, 0, 1>,
1598 Conv::template process_tile<0, 1, 1, 3, 0, 2>,
1599 Conv::template process_tile<0, 1, 1, 3, 0, 3>,
1600 }, // Output pad bottom = 0
1601 { // Output pad bottom = 1
1602 Conv::template process_tile<0, 1, 1, 3, 1, 0>,
1603 Conv::template process_tile<0, 1, 1, 3, 1, 1>,
1604 Conv::template process_tile<0, 1, 1, 3, 1, 2>,
1605 Conv::template process_tile<0, 1, 1, 3, 1, 3>,
1606 }, // Output pad bottom = 1
1607 { // Output pad bottom = 2
1608 Conv::template process_tile<0, 1, 1, 3, 2, 0>,
1609 Conv::template process_tile<0, 1, 1, 3, 2, 1>,
1610 Conv::template process_tile<0, 1, 1, 3, 2, 2>,
1611 Conv::template process_tile<0, 1, 1, 3, 2, 3>,
1612 }, // Output pad bottom = 2
1613 { // Output pad bottom = 3
1614 Conv::template process_tile<0, 1, 1, 3, 3, 0>,
1615 Conv::template process_tile<0, 1, 1, 3, 3, 1>,
1616 Conv::template process_tile<0, 1, 1, 3, 3, 2>,
1617 Conv::template process_tile<0, 1, 1, 3, 3, 3>,
1618 }, // Output pad bottom = 3
1619 }, // Input pad right = 3
1620 { // Input pad right = 4
1621 { // Output pad bottom = 0
1622 Conv::template process_tile<0, 1, 1, 4, 0, 0>,
1623 Conv::template process_tile<0, 1, 1, 4, 0, 1>,
1624 Conv::template process_tile<0, 1, 1, 4, 0, 2>,
1625 Conv::template process_tile<0, 1, 1, 4, 0, 3>,
1626 }, // Output pad bottom = 0
1627 { // Output pad bottom = 1
1628 Conv::template process_tile<0, 1, 1, 4, 1, 0>,
1629 Conv::template process_tile<0, 1, 1, 4, 1, 1>,
1630 Conv::template process_tile<0, 1, 1, 4, 1, 2>,
1631 Conv::template process_tile<0, 1, 1, 4, 1, 3>,
1632 }, // Output pad bottom = 1
1633 { // Output pad bottom = 2
1634 Conv::template process_tile<0, 1, 1, 4, 2, 0>,
1635 Conv::template process_tile<0, 1, 1, 4, 2, 1>,
1636 Conv::template process_tile<0, 1, 1, 4, 2, 2>,
1637 Conv::template process_tile<0, 1, 1, 4, 2, 3>,
1638 }, // Output pad bottom = 2
1639 { // Output pad bottom = 3
1640 Conv::template process_tile<0, 1, 1, 4, 3, 0>,
1641 Conv::template process_tile<0, 1, 1, 4, 3, 1>,
1642 Conv::template process_tile<0, 1, 1, 4, 3, 2>,
1643 Conv::template process_tile<0, 1, 1, 4, 3, 3>,
1644 }, // Output pad bottom = 3
1645 }, // Input pad right = 4
1646 { // Input pad right = 5
1647 { // Output pad bottom = 0
1648 Conv::template process_tile<0, 1, 1, 5, 0, 0>,
1649 Conv::template process_tile<0, 1, 1, 5, 0, 1>,
1650 Conv::template process_tile<0, 1, 1, 5, 0, 2>,
1651 Conv::template process_tile<0, 1, 1, 5, 0, 3>,
1652 }, // Output pad bottom = 0
1653 { // Output pad bottom = 1
1654 Conv::template process_tile<0, 1, 1, 5, 1, 0>,
1655 Conv::template process_tile<0, 1, 1, 5, 1, 1>,
1656 Conv::template process_tile<0, 1, 1, 5, 1, 2>,
1657 Conv::template process_tile<0, 1, 1, 5, 1, 3>,
1658 }, // Output pad bottom = 1
1659 { // Output pad bottom = 2
1660 Conv::template process_tile<0, 1, 1, 5, 2, 0>,
1661 Conv::template process_tile<0, 1, 1, 5, 2, 1>,
1662 Conv::template process_tile<0, 1, 1, 5, 2, 2>,
1663 Conv::template process_tile<0, 1, 1, 5, 2, 3>,
1664 }, // Output pad bottom = 2
1665 { // Output pad bottom = 3
1666 Conv::template process_tile<0, 1, 1, 5, 3, 0>,
1667 Conv::template process_tile<0, 1, 1, 5, 3, 1>,
1668 Conv::template process_tile<0, 1, 1, 5, 3, 2>,
1669 Conv::template process_tile<0, 1, 1, 5, 3, 3>,
1670 }, // Output pad bottom = 3
1671 }, // Input pad right = 5
1672 { // Input pad right = 6
1673 { // Output pad bottom = 0
1674 Conv::template process_tile<0, 1, 1, 6, 0, 0>,
1675 Conv::template process_tile<0, 1, 1, 6, 0, 1>,
1676 Conv::template process_tile<0, 1, 1, 6, 0, 2>,
1677 Conv::template process_tile<0, 1, 1, 6, 0, 3>,
1678 }, // Output pad bottom = 0
1679 { // Output pad bottom = 1
1680 Conv::template process_tile<0, 1, 1, 6, 1, 0>,
1681 Conv::template process_tile<0, 1, 1, 6, 1, 1>,
1682 Conv::template process_tile<0, 1, 1, 6, 1, 2>,
1683 Conv::template process_tile<0, 1, 1, 6, 1, 3>,
1684 }, // Output pad bottom = 1
1685 { // Output pad bottom = 2
1686 Conv::template process_tile<0, 1, 1, 6, 2, 0>,
1687 Conv::template process_tile<0, 1, 1, 6, 2, 1>,
1688 Conv::template process_tile<0, 1, 1, 6, 2, 2>,
1689 Conv::template process_tile<0, 1, 1, 6, 2, 3>,
1690 }, // Output pad bottom = 2
1691 { // Output pad bottom = 3
1692 Conv::template process_tile<0, 1, 1, 6, 3, 0>,
1693 Conv::template process_tile<0, 1, 1, 6, 3, 1>,
1694 Conv::template process_tile<0, 1, 1, 6, 3, 2>,
1695 Conv::template process_tile<0, 1, 1, 6, 3, 3>,
1696 }, // Output pad bottom = 3
1697 }, // Input pad right = 6
1698 }, // Input pad bottom = 1
1699 { // Input pad bottom = 2
1700 { // Input pad right = 0
1701 { // Output pad bottom = 0
1702 Conv::template process_tile<0, 1, 2, 0, 0, 0>,
1703 Conv::template process_tile<0, 1, 2, 0, 0, 1>,
1704 Conv::template process_tile<0, 1, 2, 0, 0, 2>,
1705 Conv::template process_tile<0, 1, 2, 0, 0, 3>,
1706 }, // Output pad bottom = 0
1707 { // Output pad bottom = 1
1708 Conv::template process_tile<0, 1, 2, 0, 1, 0>,
1709 Conv::template process_tile<0, 1, 2, 0, 1, 1>,
1710 Conv::template process_tile<0, 1, 2, 0, 1, 2>,
1711 Conv::template process_tile<0, 1, 2, 0, 1, 3>,
1712 }, // Output pad bottom = 1
1713 { // Output pad bottom = 2
1714 Conv::template process_tile<0, 1, 2, 0, 2, 0>,
1715 Conv::template process_tile<0, 1, 2, 0, 2, 1>,
1716 Conv::template process_tile<0, 1, 2, 0, 2, 2>,
1717 Conv::template process_tile<0, 1, 2, 0, 2, 3>,
1718 }, // Output pad bottom = 2
1719 { // Output pad bottom = 3
1720 Conv::template process_tile<0, 1, 2, 0, 3, 0>,
1721 Conv::template process_tile<0, 1, 2, 0, 3, 1>,
1722 Conv::template process_tile<0, 1, 2, 0, 3, 2>,
1723 Conv::template process_tile<0, 1, 2, 0, 3, 3>,
1724 }, // Output pad bottom = 3
1725 }, // Input pad right = 0
1726 { // Input pad right = 1
1727 { // Output pad bottom = 0
1728 Conv::template process_tile<0, 1, 2, 1, 0, 0>,
1729 Conv::template process_tile<0, 1, 2, 1, 0, 1>,
1730 Conv::template process_tile<0, 1, 2, 1, 0, 2>,
1731 Conv::template process_tile<0, 1, 2, 1, 0, 3>,
1732 }, // Output pad bottom = 0
1733 { // Output pad bottom = 1
1734 Conv::template process_tile<0, 1, 2, 1, 1, 0>,
1735 Conv::template process_tile<0, 1, 2, 1, 1, 1>,
1736 Conv::template process_tile<0, 1, 2, 1, 1, 2>,
1737 Conv::template process_tile<0, 1, 2, 1, 1, 3>,
1738 }, // Output pad bottom = 1
1739 { // Output pad bottom = 2
1740 Conv::template process_tile<0, 1, 2, 1, 2, 0>,
1741 Conv::template process_tile<0, 1, 2, 1, 2, 1>,
1742 Conv::template process_tile<0, 1, 2, 1, 2, 2>,
1743 Conv::template process_tile<0, 1, 2, 1, 2, 3>,
1744 }, // Output pad bottom = 2
1745 { // Output pad bottom = 3
1746 Conv::template process_tile<0, 1, 2, 1, 3, 0>,
1747 Conv::template process_tile<0, 1, 2, 1, 3, 1>,
1748 Conv::template process_tile<0, 1, 2, 1, 3, 2>,
1749 Conv::template process_tile<0, 1, 2, 1, 3, 3>,
1750 }, // Output pad bottom = 3
1751 }, // Input pad right = 1
1752 { // Input pad right = 2
1753 { // Output pad bottom = 0
1754 Conv::template process_tile<0, 1, 2, 2, 0, 0>,
1755 Conv::template process_tile<0, 1, 2, 2, 0, 1>,
1756 Conv::template process_tile<0, 1, 2, 2, 0, 2>,
1757 Conv::template process_tile<0, 1, 2, 2, 0, 3>,
1758 }, // Output pad bottom = 0
1759 { // Output pad bottom = 1
1760 Conv::template process_tile<0, 1, 2, 2, 1, 0>,
1761 Conv::template process_tile<0, 1, 2, 2, 1, 1>,
1762 Conv::template process_tile<0, 1, 2, 2, 1, 2>,
1763 Conv::template process_tile<0, 1, 2, 2, 1, 3>,
1764 }, // Output pad bottom = 1
1765 { // Output pad bottom = 2
1766 Conv::template process_tile<0, 1, 2, 2, 2, 0>,
1767 Conv::template process_tile<0, 1, 2, 2, 2, 1>,
1768 Conv::template process_tile<0, 1, 2, 2, 2, 2>,
1769 Conv::template process_tile<0, 1, 2, 2, 2, 3>,
1770 }, // Output pad bottom = 2
1771 { // Output pad bottom = 3
1772 Conv::template process_tile<0, 1, 2, 2, 3, 0>,
1773 Conv::template process_tile<0, 1, 2, 2, 3, 1>,
1774 Conv::template process_tile<0, 1, 2, 2, 3, 2>,
1775 Conv::template process_tile<0, 1, 2, 2, 3, 3>,
1776 }, // Output pad bottom = 3
1777 }, // Input pad right = 2
1778 { // Input pad right = 3
1779 { // Output pad bottom = 0
1780 Conv::template process_tile<0, 1, 2, 3, 0, 0>,
1781 Conv::template process_tile<0, 1, 2, 3, 0, 1>,
1782 Conv::template process_tile<0, 1, 2, 3, 0, 2>,
1783 Conv::template process_tile<0, 1, 2, 3, 0, 3>,
1784 }, // Output pad bottom = 0
1785 { // Output pad bottom = 1
1786 Conv::template process_tile<0, 1, 2, 3, 1, 0>,
1787 Conv::template process_tile<0, 1, 2, 3, 1, 1>,
1788 Conv::template process_tile<0, 1, 2, 3, 1, 2>,
1789 Conv::template process_tile<0, 1, 2, 3, 1, 3>,
1790 }, // Output pad bottom = 1
1791 { // Output pad bottom = 2
1792 Conv::template process_tile<0, 1, 2, 3, 2, 0>,
1793 Conv::template process_tile<0, 1, 2, 3, 2, 1>,
1794 Conv::template process_tile<0, 1, 2, 3, 2, 2>,
1795 Conv::template process_tile<0, 1, 2, 3, 2, 3>,
1796 }, // Output pad bottom = 2
1797 { // Output pad bottom = 3
1798 Conv::template process_tile<0, 1, 2, 3, 3, 0>,
1799 Conv::template process_tile<0, 1, 2, 3, 3, 1>,
1800 Conv::template process_tile<0, 1, 2, 3, 3, 2>,
1801 Conv::template process_tile<0, 1, 2, 3, 3, 3>,
1802 }, // Output pad bottom = 3
1803 }, // Input pad right = 3
1804 { // Input pad right = 4
1805 { // Output pad bottom = 0
1806 Conv::template process_tile<0, 1, 2, 4, 0, 0>,
1807 Conv::template process_tile<0, 1, 2, 4, 0, 1>,
1808 Conv::template process_tile<0, 1, 2, 4, 0, 2>,
1809 Conv::template process_tile<0, 1, 2, 4, 0, 3>,
1810 }, // Output pad bottom = 0
1811 { // Output pad bottom = 1
1812 Conv::template process_tile<0, 1, 2, 4, 1, 0>,
1813 Conv::template process_tile<0, 1, 2, 4, 1, 1>,
1814 Conv::template process_tile<0, 1, 2, 4, 1, 2>,
1815 Conv::template process_tile<0, 1, 2, 4, 1, 3>,
1816 }, // Output pad bottom = 1
1817 { // Output pad bottom = 2
1818 Conv::template process_tile<0, 1, 2, 4, 2, 0>,
1819 Conv::template process_tile<0, 1, 2, 4, 2, 1>,
1820 Conv::template process_tile<0, 1, 2, 4, 2, 2>,
1821 Conv::template process_tile<0, 1, 2, 4, 2, 3>,
1822 }, // Output pad bottom = 2
1823 { // Output pad bottom = 3
1824 Conv::template process_tile<0, 1, 2, 4, 3, 0>,
1825 Conv::template process_tile<0, 1, 2, 4, 3, 1>,
1826 Conv::template process_tile<0, 1, 2, 4, 3, 2>,
1827 Conv::template process_tile<0, 1, 2, 4, 3, 3>,
1828 }, // Output pad bottom = 3
1829 }, // Input pad right = 4
1830 { // Input pad right = 5
1831 { // Output pad bottom = 0
1832 Conv::template process_tile<0, 1, 2, 5, 0, 0>,
1833 Conv::template process_tile<0, 1, 2, 5, 0, 1>,
1834 Conv::template process_tile<0, 1, 2, 5, 0, 2>,
1835 Conv::template process_tile<0, 1, 2, 5, 0, 3>,
1836 }, // Output pad bottom = 0
1837 { // Output pad bottom = 1
1838 Conv::template process_tile<0, 1, 2, 5, 1, 0>,
1839 Conv::template process_tile<0, 1, 2, 5, 1, 1>,
1840 Conv::template process_tile<0, 1, 2, 5, 1, 2>,
1841 Conv::template process_tile<0, 1, 2, 5, 1, 3>,
1842 }, // Output pad bottom = 1
1843 { // Output pad bottom = 2
1844 Conv::template process_tile<0, 1, 2, 5, 2, 0>,
1845 Conv::template process_tile<0, 1, 2, 5, 2, 1>,
1846 Conv::template process_tile<0, 1, 2, 5, 2, 2>,
1847 Conv::template process_tile<0, 1, 2, 5, 2, 3>,
1848 }, // Output pad bottom = 2
1849 { // Output pad bottom = 3
1850 Conv::template process_tile<0, 1, 2, 5, 3, 0>,
1851 Conv::template process_tile<0, 1, 2, 5, 3, 1>,
1852 Conv::template process_tile<0, 1, 2, 5, 3, 2>,
1853 Conv::template process_tile<0, 1, 2, 5, 3, 3>,
1854 }, // Output pad bottom = 3
1855 }, // Input pad right = 5
1856 { // Input pad right = 6
1857 { // Output pad bottom = 0
1858 Conv::template process_tile<0, 1, 2, 6, 0, 0>,
1859 Conv::template process_tile<0, 1, 2, 6, 0, 1>,
1860 Conv::template process_tile<0, 1, 2, 6, 0, 2>,
1861 Conv::template process_tile<0, 1, 2, 6, 0, 3>,
1862 }, // Output pad bottom = 0
1863 { // Output pad bottom = 1
1864 Conv::template process_tile<0, 1, 2, 6, 1, 0>,
1865 Conv::template process_tile<0, 1, 2, 6, 1, 1>,
1866 Conv::template process_tile<0, 1, 2, 6, 1, 2>,
1867 Conv::template process_tile<0, 1, 2, 6, 1, 3>,
1868 }, // Output pad bottom = 1
1869 { // Output pad bottom = 2
1870 Conv::template process_tile<0, 1, 2, 6, 2, 0>,
1871 Conv::template process_tile<0, 1, 2, 6, 2, 1>,
1872 Conv::template process_tile<0, 1, 2, 6, 2, 2>,
1873 Conv::template process_tile<0, 1, 2, 6, 2, 3>,
1874 }, // Output pad bottom = 2
1875 { // Output pad bottom = 3
1876 Conv::template process_tile<0, 1, 2, 6, 3, 0>,
1877 Conv::template process_tile<0, 1, 2, 6, 3, 1>,
1878 Conv::template process_tile<0, 1, 2, 6, 3, 2>,
1879 Conv::template process_tile<0, 1, 2, 6, 3, 3>,
1880 }, // Output pad bottom = 3
1881 }, // Input pad right = 6
1882 }, // Input pad bottom = 2
1883 { // Input pad bottom = 3
1884 { // Input pad right = 0
1885 { // Output pad bottom = 0
1886 Conv::template process_tile<0, 1, 3, 0, 0, 0>,
1887 Conv::template process_tile<0, 1, 3, 0, 0, 1>,
1888 Conv::template process_tile<0, 1, 3, 0, 0, 2>,
1889 Conv::template process_tile<0, 1, 3, 0, 0, 3>,
1890 }, // Output pad bottom = 0
1891 { // Output pad bottom = 1
1892 Conv::template process_tile<0, 1, 3, 0, 1, 0>,
1893 Conv::template process_tile<0, 1, 3, 0, 1, 1>,
1894 Conv::template process_tile<0, 1, 3, 0, 1, 2>,
1895 Conv::template process_tile<0, 1, 3, 0, 1, 3>,
1896 }, // Output pad bottom = 1
1897 { // Output pad bottom = 2
1898 Conv::template process_tile<0, 1, 3, 0, 2, 0>,
1899 Conv::template process_tile<0, 1, 3, 0, 2, 1>,
1900 Conv::template process_tile<0, 1, 3, 0, 2, 2>,
1901 Conv::template process_tile<0, 1, 3, 0, 2, 3>,
1902 }, // Output pad bottom = 2
1903 { // Output pad bottom = 3
1904 Conv::template process_tile<0, 1, 3, 0, 3, 0>,
1905 Conv::template process_tile<0, 1, 3, 0, 3, 1>,
1906 Conv::template process_tile<0, 1, 3, 0, 3, 2>,
1907 Conv::template process_tile<0, 1, 3, 0, 3, 3>,
1908 }, // Output pad bottom = 3
1909 }, // Input pad right = 0
1910 { // Input pad right = 1
1911 { // Output pad bottom = 0
1912 Conv::template process_tile<0, 1, 3, 1, 0, 0>,
1913 Conv::template process_tile<0, 1, 3, 1, 0, 1>,
1914 Conv::template process_tile<0, 1, 3, 1, 0, 2>,
1915 Conv::template process_tile<0, 1, 3, 1, 0, 3>,
1916 }, // Output pad bottom = 0
1917 { // Output pad bottom = 1
1918 Conv::template process_tile<0, 1, 3, 1, 1, 0>,
1919 Conv::template process_tile<0, 1, 3, 1, 1, 1>,
1920 Conv::template process_tile<0, 1, 3, 1, 1, 2>,
1921 Conv::template process_tile<0, 1, 3, 1, 1, 3>,
1922 }, // Output pad bottom = 1
1923 { // Output pad bottom = 2
1924 Conv::template process_tile<0, 1, 3, 1, 2, 0>,
1925 Conv::template process_tile<0, 1, 3, 1, 2, 1>,
1926 Conv::template process_tile<0, 1, 3, 1, 2, 2>,
1927 Conv::template process_tile<0, 1, 3, 1, 2, 3>,
1928 }, // Output pad bottom = 2
1929 { // Output pad bottom = 3
1930 Conv::template process_tile<0, 1, 3, 1, 3, 0>,
1931 Conv::template process_tile<0, 1, 3, 1, 3, 1>,
1932 Conv::template process_tile<0, 1, 3, 1, 3, 2>,
1933 Conv::template process_tile<0, 1, 3, 1, 3, 3>,
1934 }, // Output pad bottom = 3
1935 }, // Input pad right = 1
1936 { // Input pad right = 2
1937 { // Output pad bottom = 0
1938 Conv::template process_tile<0, 1, 3, 2, 0, 0>,
1939 Conv::template process_tile<0, 1, 3, 2, 0, 1>,
1940 Conv::template process_tile<0, 1, 3, 2, 0, 2>,
1941 Conv::template process_tile<0, 1, 3, 2, 0, 3>,
1942 }, // Output pad bottom = 0
1943 { // Output pad bottom = 1
1944 Conv::template process_tile<0, 1, 3, 2, 1, 0>,
1945 Conv::template process_tile<0, 1, 3, 2, 1, 1>,
1946 Conv::template process_tile<0, 1, 3, 2, 1, 2>,
1947 Conv::template process_tile<0, 1, 3, 2, 1, 3>,
1948 }, // Output pad bottom = 1
1949 { // Output pad bottom = 2
1950 Conv::template process_tile<0, 1, 3, 2, 2, 0>,
1951 Conv::template process_tile<0, 1, 3, 2, 2, 1>,
1952 Conv::template process_tile<0, 1, 3, 2, 2, 2>,
1953 Conv::template process_tile<0, 1, 3, 2, 2, 3>,
1954 }, // Output pad bottom = 2
1955 { // Output pad bottom = 3
1956 Conv::template process_tile<0, 1, 3, 2, 3, 0>,
1957 Conv::template process_tile<0, 1, 3, 2, 3, 1>,
1958 Conv::template process_tile<0, 1, 3, 2, 3, 2>,
1959 Conv::template process_tile<0, 1, 3, 2, 3, 3>,
1960 }, // Output pad bottom = 3
1961 }, // Input pad right = 2
1962 { // Input pad right = 3
1963 { // Output pad bottom = 0
1964 Conv::template process_tile<0, 1, 3, 3, 0, 0>,
1965 Conv::template process_tile<0, 1, 3, 3, 0, 1>,
1966 Conv::template process_tile<0, 1, 3, 3, 0, 2>,
1967 Conv::template process_tile<0, 1, 3, 3, 0, 3>,
1968 }, // Output pad bottom = 0
1969 { // Output pad bottom = 1
1970 Conv::template process_tile<0, 1, 3, 3, 1, 0>,
1971 Conv::template process_tile<0, 1, 3, 3, 1, 1>,
1972 Conv::template process_tile<0, 1, 3, 3, 1, 2>,
1973 Conv::template process_tile<0, 1, 3, 3, 1, 3>,
1974 }, // Output pad bottom = 1
1975 { // Output pad bottom = 2
1976 Conv::template process_tile<0, 1, 3, 3, 2, 0>,
1977 Conv::template process_tile<0, 1, 3, 3, 2, 1>,
1978 Conv::template process_tile<0, 1, 3, 3, 2, 2>,
1979 Conv::template process_tile<0, 1, 3, 3, 2, 3>,
1980 }, // Output pad bottom = 2
1981 { // Output pad bottom = 3
1982 Conv::template process_tile<0, 1, 3, 3, 3, 0>,
1983 Conv::template process_tile<0, 1, 3, 3, 3, 1>,
1984 Conv::template process_tile<0, 1, 3, 3, 3, 2>,
1985 Conv::template process_tile<0, 1, 3, 3, 3, 3>,
1986 }, // Output pad bottom = 3
1987 }, // Input pad right = 3
1988 { // Input pad right = 4
1989 { // Output pad bottom = 0
1990 Conv::template process_tile<0, 1, 3, 4, 0, 0>,
1991 Conv::template process_tile<0, 1, 3, 4, 0, 1>,
1992 Conv::template process_tile<0, 1, 3, 4, 0, 2>,
1993 Conv::template process_tile<0, 1, 3, 4, 0, 3>,
1994 }, // Output pad bottom = 0
1995 { // Output pad bottom = 1
1996 Conv::template process_tile<0, 1, 3, 4, 1, 0>,
1997 Conv::template process_tile<0, 1, 3, 4, 1, 1>,
1998 Conv::template process_tile<0, 1, 3, 4, 1, 2>,
1999 Conv::template process_tile<0, 1, 3, 4, 1, 3>,
2000 }, // Output pad bottom = 1
2001 { // Output pad bottom = 2
2002 Conv::template process_tile<0, 1, 3, 4, 2, 0>,
2003 Conv::template process_tile<0, 1, 3, 4, 2, 1>,
2004 Conv::template process_tile<0, 1, 3, 4, 2, 2>,
2005 Conv::template process_tile<0, 1, 3, 4, 2, 3>,
2006 }, // Output pad bottom = 2
2007 { // Output pad bottom = 3
2008 Conv::template process_tile<0, 1, 3, 4, 3, 0>,
2009 Conv::template process_tile<0, 1, 3, 4, 3, 1>,
2010 Conv::template process_tile<0, 1, 3, 4, 3, 2>,
2011 Conv::template process_tile<0, 1, 3, 4, 3, 3>,
2012 }, // Output pad bottom = 3
2013 }, // Input pad right = 4
2014 { // Input pad right = 5
2015 { // Output pad bottom = 0
2016 Conv::template process_tile<0, 1, 3, 5, 0, 0>,
2017 Conv::template process_tile<0, 1, 3, 5, 0, 1>,
2018 Conv::template process_tile<0, 1, 3, 5, 0, 2>,
2019 Conv::template process_tile<0, 1, 3, 5, 0, 3>,
2020 }, // Output pad bottom = 0
2021 { // Output pad bottom = 1
2022 Conv::template process_tile<0, 1, 3, 5, 1, 0>,
2023 Conv::template process_tile<0, 1, 3, 5, 1, 1>,
2024 Conv::template process_tile<0, 1, 3, 5, 1, 2>,
2025 Conv::template process_tile<0, 1, 3, 5, 1, 3>,
2026 }, // Output pad bottom = 1
2027 { // Output pad bottom = 2
2028 Conv::template process_tile<0, 1, 3, 5, 2, 0>,
2029 Conv::template process_tile<0, 1, 3, 5, 2, 1>,
2030 Conv::template process_tile<0, 1, 3, 5, 2, 2>,
2031 Conv::template process_tile<0, 1, 3, 5, 2, 3>,
2032 }, // Output pad bottom = 2
2033 { // Output pad bottom = 3
2034 Conv::template process_tile<0, 1, 3, 5, 3, 0>,
2035 Conv::template process_tile<0, 1, 3, 5, 3, 1>,
2036 Conv::template process_tile<0, 1, 3, 5, 3, 2>,
2037 Conv::template process_tile<0, 1, 3, 5, 3, 3>,
2038 }, // Output pad bottom = 3
2039 }, // Input pad right = 5
2040 { // Input pad right = 6
2041 { // Output pad bottom = 0
2042 Conv::template process_tile<0, 1, 3, 6, 0, 0>,
2043 Conv::template process_tile<0, 1, 3, 6, 0, 1>,
2044 Conv::template process_tile<0, 1, 3, 6, 0, 2>,
2045 Conv::template process_tile<0, 1, 3, 6, 0, 3>,
2046 }, // Output pad bottom = 0
2047 { // Output pad bottom = 1
2048 Conv::template process_tile<0, 1, 3, 6, 1, 0>,
2049 Conv::template process_tile<0, 1, 3, 6, 1, 1>,
2050 Conv::template process_tile<0, 1, 3, 6, 1, 2>,
2051 Conv::template process_tile<0, 1, 3, 6, 1, 3>,
2052 }, // Output pad bottom = 1
2053 { // Output pad bottom = 2
2054 Conv::template process_tile<0, 1, 3, 6, 2, 0>,
2055 Conv::template process_tile<0, 1, 3, 6, 2, 1>,
2056 Conv::template process_tile<0, 1, 3, 6, 2, 2>,
2057 Conv::template process_tile<0, 1, 3, 6, 2, 3>,
2058 }, // Output pad bottom = 2
2059 { // Output pad bottom = 3
2060 Conv::template process_tile<0, 1, 3, 6, 3, 0>,
2061 Conv::template process_tile<0, 1, 3, 6, 3, 1>,
2062 Conv::template process_tile<0, 1, 3, 6, 3, 2>,
2063 Conv::template process_tile<0, 1, 3, 6, 3, 3>,
2064 }, // Output pad bottom = 3
2065 }, // Input pad right = 6
2066 }, // Input pad bottom = 3
2067 { // Input pad bottom = 4
2068 { // Input pad right = 0
2069 { // Output pad bottom = 0
2070 Conv::template process_tile<0, 1, 4, 0, 0, 0>,
2071 Conv::template process_tile<0, 1, 4, 0, 0, 1>,
2072 Conv::template process_tile<0, 1, 4, 0, 0, 2>,
2073 Conv::template process_tile<0, 1, 4, 0, 0, 3>,
2074 }, // Output pad bottom = 0
2075 { // Output pad bottom = 1
2076 Conv::template process_tile<0, 1, 4, 0, 1, 0>,
2077 Conv::template process_tile<0, 1, 4, 0, 1, 1>,
2078 Conv::template process_tile<0, 1, 4, 0, 1, 2>,
2079 Conv::template process_tile<0, 1, 4, 0, 1, 3>,
2080 }, // Output pad bottom = 1
2081 { // Output pad bottom = 2
2082 Conv::template process_tile<0, 1, 4, 0, 2, 0>,
2083 Conv::template process_tile<0, 1, 4, 0, 2, 1>,
2084 Conv::template process_tile<0, 1, 4, 0, 2, 2>,
2085 Conv::template process_tile<0, 1, 4, 0, 2, 3>,
2086 }, // Output pad bottom = 2
2087 { // Output pad bottom = 3
2088 Conv::template process_tile<0, 1, 4, 0, 3, 0>,
2089 Conv::template process_tile<0, 1, 4, 0, 3, 1>,
2090 Conv::template process_tile<0, 1, 4, 0, 3, 2>,
2091 Conv::template process_tile<0, 1, 4, 0, 3, 3>,
2092 }, // Output pad bottom = 3
2093 }, // Input pad right = 0
2094 { // Input pad right = 1
2095 { // Output pad bottom = 0
2096 Conv::template process_tile<0, 1, 4, 1, 0, 0>,
2097 Conv::template process_tile<0, 1, 4, 1, 0, 1>,
2098 Conv::template process_tile<0, 1, 4, 1, 0, 2>,
2099 Conv::template process_tile<0, 1, 4, 1, 0, 3>,
2100 }, // Output pad bottom = 0
2101 { // Output pad bottom = 1
2102 Conv::template process_tile<0, 1, 4, 1, 1, 0>,
2103 Conv::template process_tile<0, 1, 4, 1, 1, 1>,
2104 Conv::template process_tile<0, 1, 4, 1, 1, 2>,
2105 Conv::template process_tile<0, 1, 4, 1, 1, 3>,
2106 }, // Output pad bottom = 1
2107 { // Output pad bottom = 2
2108 Conv::template process_tile<0, 1, 4, 1, 2, 0>,
2109 Conv::template process_tile<0, 1, 4, 1, 2, 1>,
2110 Conv::template process_tile<0, 1, 4, 1, 2, 2>,
2111 Conv::template process_tile<0, 1, 4, 1, 2, 3>,
2112 }, // Output pad bottom = 2
2113 { // Output pad bottom = 3
2114 Conv::template process_tile<0, 1, 4, 1, 3, 0>,
2115 Conv::template process_tile<0, 1, 4, 1, 3, 1>,
2116 Conv::template process_tile<0, 1, 4, 1, 3, 2>,
2117 Conv::template process_tile<0, 1, 4, 1, 3, 3>,
2118 }, // Output pad bottom = 3
2119 }, // Input pad right = 1
2120 { // Input pad right = 2
2121 { // Output pad bottom = 0
2122 Conv::template process_tile<0, 1, 4, 2, 0, 0>,
2123 Conv::template process_tile<0, 1, 4, 2, 0, 1>,
2124 Conv::template process_tile<0, 1, 4, 2, 0, 2>,
2125 Conv::template process_tile<0, 1, 4, 2, 0, 3>,
2126 }, // Output pad bottom = 0
2127 { // Output pad bottom = 1
2128 Conv::template process_tile<0, 1, 4, 2, 1, 0>,
2129 Conv::template process_tile<0, 1, 4, 2, 1, 1>,
2130 Conv::template process_tile<0, 1, 4, 2, 1, 2>,
2131 Conv::template process_tile<0, 1, 4, 2, 1, 3>,
2132 }, // Output pad bottom = 1
2133 { // Output pad bottom = 2
2134 Conv::template process_tile<0, 1, 4, 2, 2, 0>,
2135 Conv::template process_tile<0, 1, 4, 2, 2, 1>,
2136 Conv::template process_tile<0, 1, 4, 2, 2, 2>,
2137 Conv::template process_tile<0, 1, 4, 2, 2, 3>,
2138 }, // Output pad bottom = 2
2139 { // Output pad bottom = 3
2140 Conv::template process_tile<0, 1, 4, 2, 3, 0>,
2141 Conv::template process_tile<0, 1, 4, 2, 3, 1>,
2142 Conv::template process_tile<0, 1, 4, 2, 3, 2>,
2143 Conv::template process_tile<0, 1, 4, 2, 3, 3>,
2144 }, // Output pad bottom = 3
2145 }, // Input pad right = 2
2146 { // Input pad right = 3
2147 { // Output pad bottom = 0
2148 Conv::template process_tile<0, 1, 4, 3, 0, 0>,
2149 Conv::template process_tile<0, 1, 4, 3, 0, 1>,
2150 Conv::template process_tile<0, 1, 4, 3, 0, 2>,
2151 Conv::template process_tile<0, 1, 4, 3, 0, 3>,
2152 }, // Output pad bottom = 0
2153 { // Output pad bottom = 1
2154 Conv::template process_tile<0, 1, 4, 3, 1, 0>,
2155 Conv::template process_tile<0, 1, 4, 3, 1, 1>,
2156 Conv::template process_tile<0, 1, 4, 3, 1, 2>,
2157 Conv::template process_tile<0, 1, 4, 3, 1, 3>,
2158 }, // Output pad bottom = 1
2159 { // Output pad bottom = 2
2160 Conv::template process_tile<0, 1, 4, 3, 2, 0>,
2161 Conv::template process_tile<0, 1, 4, 3, 2, 1>,
2162 Conv::template process_tile<0, 1, 4, 3, 2, 2>,
2163 Conv::template process_tile<0, 1, 4, 3, 2, 3>,
2164 }, // Output pad bottom = 2
2165 { // Output pad bottom = 3
2166 Conv::template process_tile<0, 1, 4, 3, 3, 0>,
2167 Conv::template process_tile<0, 1, 4, 3, 3, 1>,
2168 Conv::template process_tile<0, 1, 4, 3, 3, 2>,
2169 Conv::template process_tile<0, 1, 4, 3, 3, 3>,
2170 }, // Output pad bottom = 3
2171 }, // Input pad right = 3
2172 { // Input pad right = 4
2173 { // Output pad bottom = 0
2174 Conv::template process_tile<0, 1, 4, 4, 0, 0>,
2175 Conv::template process_tile<0, 1, 4, 4, 0, 1>,
2176 Conv::template process_tile<0, 1, 4, 4, 0, 2>,
2177 Conv::template process_tile<0, 1, 4, 4, 0, 3>,
2178 }, // Output pad bottom = 0
2179 { // Output pad bottom = 1
2180 Conv::template process_tile<0, 1, 4, 4, 1, 0>,
2181 Conv::template process_tile<0, 1, 4, 4, 1, 1>,
2182 Conv::template process_tile<0, 1, 4, 4, 1, 2>,
2183 Conv::template process_tile<0, 1, 4, 4, 1, 3>,
2184 }, // Output pad bottom = 1
2185 { // Output pad bottom = 2
2186 Conv::template process_tile<0, 1, 4, 4, 2, 0>,
2187 Conv::template process_tile<0, 1, 4, 4, 2, 1>,
2188 Conv::template process_tile<0, 1, 4, 4, 2, 2>,
2189 Conv::template process_tile<0, 1, 4, 4, 2, 3>,
2190 }, // Output pad bottom = 2
2191 { // Output pad bottom = 3
2192 Conv::template process_tile<0, 1, 4, 4, 3, 0>,
2193 Conv::template process_tile<0, 1, 4, 4, 3, 1>,
2194 Conv::template process_tile<0, 1, 4, 4, 3, 2>,
2195 Conv::template process_tile<0, 1, 4, 4, 3, 3>,
2196 }, // Output pad bottom = 3
2197 }, // Input pad right = 4
2198 { // Input pad right = 5
2199 { // Output pad bottom = 0
2200 Conv::template process_tile<0, 1, 4, 5, 0, 0>,
2201 Conv::template process_tile<0, 1, 4, 5, 0, 1>,
2202 Conv::template process_tile<0, 1, 4, 5, 0, 2>,
2203 Conv::template process_tile<0, 1, 4, 5, 0, 3>,
2204 }, // Output pad bottom = 0
2205 { // Output pad bottom = 1
2206 Conv::template process_tile<0, 1, 4, 5, 1, 0>,
2207 Conv::template process_tile<0, 1, 4, 5, 1, 1>,
2208 Conv::template process_tile<0, 1, 4, 5, 1, 2>,
2209 Conv::template process_tile<0, 1, 4, 5, 1, 3>,
2210 }, // Output pad bottom = 1
2211 { // Output pad bottom = 2
2212 Conv::template process_tile<0, 1, 4, 5, 2, 0>,
2213 Conv::template process_tile<0, 1, 4, 5, 2, 1>,
2214 Conv::template process_tile<0, 1, 4, 5, 2, 2>,
2215 Conv::template process_tile<0, 1, 4, 5, 2, 3>,
2216 }, // Output pad bottom = 2
2217 { // Output pad bottom = 3
2218 Conv::template process_tile<0, 1, 4, 5, 3, 0>,
2219 Conv::template process_tile<0, 1, 4, 5, 3, 1>,
2220 Conv::template process_tile<0, 1, 4, 5, 3, 2>,
2221 Conv::template process_tile<0, 1, 4, 5, 3, 3>,
2222 }, // Output pad bottom = 3
2223 }, // Input pad right = 5
2224 { // Input pad right = 6
2225 { // Output pad bottom = 0
2226 Conv::template process_tile<0, 1, 4, 6, 0, 0>,
2227 Conv::template process_tile<0, 1, 4, 6, 0, 1>,
2228 Conv::template process_tile<0, 1, 4, 6, 0, 2>,
2229 Conv::template process_tile<0, 1, 4, 6, 0, 3>,
2230 }, // Output pad bottom = 0
2231 { // Output pad bottom = 1
2232 Conv::template process_tile<0, 1, 4, 6, 1, 0>,
2233 Conv::template process_tile<0, 1, 4, 6, 1, 1>,
2234 Conv::template process_tile<0, 1, 4, 6, 1, 2>,
2235 Conv::template process_tile<0, 1, 4, 6, 1, 3>,
2236 }, // Output pad bottom = 1
2237 { // Output pad bottom = 2
2238 Conv::template process_tile<0, 1, 4, 6, 2, 0>,
2239 Conv::template process_tile<0, 1, 4, 6, 2, 1>,
2240 Conv::template process_tile<0, 1, 4, 6, 2, 2>,
2241 Conv::template process_tile<0, 1, 4, 6, 2, 3>,
2242 }, // Output pad bottom = 2
2243 { // Output pad bottom = 3
2244 Conv::template process_tile<0, 1, 4, 6, 3, 0>,
2245 Conv::template process_tile<0, 1, 4, 6, 3, 1>,
2246 Conv::template process_tile<0, 1, 4, 6, 3, 2>,
2247 Conv::template process_tile<0, 1, 4, 6, 3, 3>,
2248 }, // Output pad bottom = 3
2249 }, // Input pad right = 6
2250 }, // Input pad bottom = 4
2251 { // Input pad bottom = 5
2252 { // Input pad right = 0
2253 { // Output pad bottom = 0
2254 Conv::template process_tile<0, 1, 5, 0, 0, 0>,
2255 Conv::template process_tile<0, 1, 5, 0, 0, 1>,
2256 Conv::template process_tile<0, 1, 5, 0, 0, 2>,
2257 Conv::template process_tile<0, 1, 5, 0, 0, 3>,
2258 }, // Output pad bottom = 0
2259 { // Output pad bottom = 1
2260 Conv::template process_tile<0, 1, 5, 0, 1, 0>,
2261 Conv::template process_tile<0, 1, 5, 0, 1, 1>,
2262 Conv::template process_tile<0, 1, 5, 0, 1, 2>,
2263 Conv::template process_tile<0, 1, 5, 0, 1, 3>,
2264 }, // Output pad bottom = 1
2265 { // Output pad bottom = 2
2266 Conv::template process_tile<0, 1, 5, 0, 2, 0>,
2267 Conv::template process_tile<0, 1, 5, 0, 2, 1>,
2268 Conv::template process_tile<0, 1, 5, 0, 2, 2>,
2269 Conv::template process_tile<0, 1, 5, 0, 2, 3>,
2270 }, // Output pad bottom = 2
2271 { // Output pad bottom = 3
2272 Conv::template process_tile<0, 1, 5, 0, 3, 0>,
2273 Conv::template process_tile<0, 1, 5, 0, 3, 1>,
2274 Conv::template process_tile<0, 1, 5, 0, 3, 2>,
2275 Conv::template process_tile<0, 1, 5, 0, 3, 3>,
2276 }, // Output pad bottom = 3
2277 }, // Input pad right = 0
2278 { // Input pad right = 1
2279 { // Output pad bottom = 0
2280 Conv::template process_tile<0, 1, 5, 1, 0, 0>,
2281 Conv::template process_tile<0, 1, 5, 1, 0, 1>,
2282 Conv::template process_tile<0, 1, 5, 1, 0, 2>,
2283 Conv::template process_tile<0, 1, 5, 1, 0, 3>,
2284 }, // Output pad bottom = 0
2285 { // Output pad bottom = 1
2286 Conv::template process_tile<0, 1, 5, 1, 1, 0>,
2287 Conv::template process_tile<0, 1, 5, 1, 1, 1>,
2288 Conv::template process_tile<0, 1, 5, 1, 1, 2>,
2289 Conv::template process_tile<0, 1, 5, 1, 1, 3>,
2290 }, // Output pad bottom = 1
2291 { // Output pad bottom = 2
2292 Conv::template process_tile<0, 1, 5, 1, 2, 0>,
2293 Conv::template process_tile<0, 1, 5, 1, 2, 1>,
2294 Conv::template process_tile<0, 1, 5, 1, 2, 2>,
2295 Conv::template process_tile<0, 1, 5, 1, 2, 3>,
2296 }, // Output pad bottom = 2
2297 { // Output pad bottom = 3
2298 Conv::template process_tile<0, 1, 5, 1, 3, 0>,
2299 Conv::template process_tile<0, 1, 5, 1, 3, 1>,
2300 Conv::template process_tile<0, 1, 5, 1, 3, 2>,
2301 Conv::template process_tile<0, 1, 5, 1, 3, 3>,
2302 }, // Output pad bottom = 3
2303 }, // Input pad right = 1
2304 { // Input pad right = 2
2305 { // Output pad bottom = 0
2306 Conv::template process_tile<0, 1, 5, 2, 0, 0>,
2307 Conv::template process_tile<0, 1, 5, 2, 0, 1>,
2308 Conv::template process_tile<0, 1, 5, 2, 0, 2>,
2309 Conv::template process_tile<0, 1, 5, 2, 0, 3>,
2310 }, // Output pad bottom = 0
2311 { // Output pad bottom = 1
2312 Conv::template process_tile<0, 1, 5, 2, 1, 0>,
2313 Conv::template process_tile<0, 1, 5, 2, 1, 1>,
2314 Conv::template process_tile<0, 1, 5, 2, 1, 2>,
2315 Conv::template process_tile<0, 1, 5, 2, 1, 3>,
2316 }, // Output pad bottom = 1
2317 { // Output pad bottom = 2
2318 Conv::template process_tile<0, 1, 5, 2, 2, 0>,
2319 Conv::template process_tile<0, 1, 5, 2, 2, 1>,
2320 Conv::template process_tile<0, 1, 5, 2, 2, 2>,
2321 Conv::template process_tile<0, 1, 5, 2, 2, 3>,
2322 }, // Output pad bottom = 2
2323 { // Output pad bottom = 3
2324 Conv::template process_tile<0, 1, 5, 2, 3, 0>,
2325 Conv::template process_tile<0, 1, 5, 2, 3, 1>,
2326 Conv::template process_tile<0, 1, 5, 2, 3, 2>,
2327 Conv::template process_tile<0, 1, 5, 2, 3, 3>,
2328 }, // Output pad bottom = 3
2329 }, // Input pad right = 2
2330 { // Input pad right = 3
2331 { // Output pad bottom = 0
2332 Conv::template process_tile<0, 1, 5, 3, 0, 0>,
2333 Conv::template process_tile<0, 1, 5, 3, 0, 1>,
2334 Conv::template process_tile<0, 1, 5, 3, 0, 2>,
2335 Conv::template process_tile<0, 1, 5, 3, 0, 3>,
2336 }, // Output pad bottom = 0
2337 { // Output pad bottom = 1
2338 Conv::template process_tile<0, 1, 5, 3, 1, 0>,
2339 Conv::template process_tile<0, 1, 5, 3, 1, 1>,
2340 Conv::template process_tile<0, 1, 5, 3, 1, 2>,
2341 Conv::template process_tile<0, 1, 5, 3, 1, 3>,
2342 }, // Output pad bottom = 1
2343 { // Output pad bottom = 2
2344 Conv::template process_tile<0, 1, 5, 3, 2, 0>,
2345 Conv::template process_tile<0, 1, 5, 3, 2, 1>,
2346 Conv::template process_tile<0, 1, 5, 3, 2, 2>,
2347 Conv::template process_tile<0, 1, 5, 3, 2, 3>,
2348 }, // Output pad bottom = 2
2349 { // Output pad bottom = 3
2350 Conv::template process_tile<0, 1, 5, 3, 3, 0>,
2351 Conv::template process_tile<0, 1, 5, 3, 3, 1>,
2352 Conv::template process_tile<0, 1, 5, 3, 3, 2>,
2353 Conv::template process_tile<0, 1, 5, 3, 3, 3>,
2354 }, // Output pad bottom = 3
2355 }, // Input pad right = 3
2356 { // Input pad right = 4
2357 { // Output pad bottom = 0
2358 Conv::template process_tile<0, 1, 5, 4, 0, 0>,
2359 Conv::template process_tile<0, 1, 5, 4, 0, 1>,
2360 Conv::template process_tile<0, 1, 5, 4, 0, 2>,
2361 Conv::template process_tile<0, 1, 5, 4, 0, 3>,
2362 }, // Output pad bottom = 0
2363 { // Output pad bottom = 1
2364 Conv::template process_tile<0, 1, 5, 4, 1, 0>,
2365 Conv::template process_tile<0, 1, 5, 4, 1, 1>,
2366 Conv::template process_tile<0, 1, 5, 4, 1, 2>,
2367 Conv::template process_tile<0, 1, 5, 4, 1, 3>,
2368 }, // Output pad bottom = 1
2369 { // Output pad bottom = 2
2370 Conv::template process_tile<0, 1, 5, 4, 2, 0>,
2371 Conv::template process_tile<0, 1, 5, 4, 2, 1>,
2372 Conv::template process_tile<0, 1, 5, 4, 2, 2>,
2373 Conv::template process_tile<0, 1, 5, 4, 2, 3>,
2374 }, // Output pad bottom = 2
2375 { // Output pad bottom = 3
2376 Conv::template process_tile<0, 1, 5, 4, 3, 0>,
2377 Conv::template process_tile<0, 1, 5, 4, 3, 1>,
2378 Conv::template process_tile<0, 1, 5, 4, 3, 2>,
2379 Conv::template process_tile<0, 1, 5, 4, 3, 3>,
2380 }, // Output pad bottom = 3
2381 }, // Input pad right = 4
2382 { // Input pad right = 5
2383 { // Output pad bottom = 0
2384 Conv::template process_tile<0, 1, 5, 5, 0, 0>,
2385 Conv::template process_tile<0, 1, 5, 5, 0, 1>,
2386 Conv::template process_tile<0, 1, 5, 5, 0, 2>,
2387 Conv::template process_tile<0, 1, 5, 5, 0, 3>,
2388 }, // Output pad bottom = 0
2389 { // Output pad bottom = 1
2390 Conv::template process_tile<0, 1, 5, 5, 1, 0>,
2391 Conv::template process_tile<0, 1, 5, 5, 1, 1>,
2392 Conv::template process_tile<0, 1, 5, 5, 1, 2>,
2393 Conv::template process_tile<0, 1, 5, 5, 1, 3>,
2394 }, // Output pad bottom = 1
2395 { // Output pad bottom = 2
2396 Conv::template process_tile<0, 1, 5, 5, 2, 0>,
2397 Conv::template process_tile<0, 1, 5, 5, 2, 1>,
2398 Conv::template process_tile<0, 1, 5, 5, 2, 2>,
2399 Conv::template process_tile<0, 1, 5, 5, 2, 3>,
2400 }, // Output pad bottom = 2
2401 { // Output pad bottom = 3
2402 Conv::template process_tile<0, 1, 5, 5, 3, 0>,
2403 Conv::template process_tile<0, 1, 5, 5, 3, 1>,
2404 Conv::template process_tile<0, 1, 5, 5, 3, 2>,
2405 Conv::template process_tile<0, 1, 5, 5, 3, 3>,
2406 }, // Output pad bottom = 3
2407 }, // Input pad right = 5
2408 { // Input pad right = 6
2409 { // Output pad bottom = 0
2410 Conv::template process_tile<0, 1, 5, 6, 0, 0>,
2411 Conv::template process_tile<0, 1, 5, 6, 0, 1>,
2412 Conv::template process_tile<0, 1, 5, 6, 0, 2>,
2413 Conv::template process_tile<0, 1, 5, 6, 0, 3>,
2414 }, // Output pad bottom = 0
2415 { // Output pad bottom = 1
2416 Conv::template process_tile<0, 1, 5, 6, 1, 0>,
2417 Conv::template process_tile<0, 1, 5, 6, 1, 1>,
2418 Conv::template process_tile<0, 1, 5, 6, 1, 2>,
2419 Conv::template process_tile<0, 1, 5, 6, 1, 3>,
2420 }, // Output pad bottom = 1
2421 { // Output pad bottom = 2
2422 Conv::template process_tile<0, 1, 5, 6, 2, 0>,
2423 Conv::template process_tile<0, 1, 5, 6, 2, 1>,
2424 Conv::template process_tile<0, 1, 5, 6, 2, 2>,
2425 Conv::template process_tile<0, 1, 5, 6, 2, 3>,
2426 }, // Output pad bottom = 2
2427 { // Output pad bottom = 3
2428 Conv::template process_tile<0, 1, 5, 6, 3, 0>,
2429 Conv::template process_tile<0, 1, 5, 6, 3, 1>,
2430 Conv::template process_tile<0, 1, 5, 6, 3, 2>,
2431 Conv::template process_tile<0, 1, 5, 6, 3, 3>,
2432 }, // Output pad bottom = 3
2433 }, // Input pad right = 6
2434 }, // Input pad bottom = 5
2435 { // Input pad bottom = 6
2436 { // Input pad right = 0
2437 { // Output pad bottom = 0
2438 Conv::template process_tile<0, 1, 6, 0, 0, 0>,
2439 Conv::template process_tile<0, 1, 6, 0, 0, 1>,
2440 Conv::template process_tile<0, 1, 6, 0, 0, 2>,
2441 Conv::template process_tile<0, 1, 6, 0, 0, 3>,
2442 }, // Output pad bottom = 0
2443 { // Output pad bottom = 1
2444 Conv::template process_tile<0, 1, 6, 0, 1, 0>,
2445 Conv::template process_tile<0, 1, 6, 0, 1, 1>,
2446 Conv::template process_tile<0, 1, 6, 0, 1, 2>,
2447 Conv::template process_tile<0, 1, 6, 0, 1, 3>,
2448 }, // Output pad bottom = 1
2449 { // Output pad bottom = 2
2450 Conv::template process_tile<0, 1, 6, 0, 2, 0>,
2451 Conv::template process_tile<0, 1, 6, 0, 2, 1>,
2452 Conv::template process_tile<0, 1, 6, 0, 2, 2>,
2453 Conv::template process_tile<0, 1, 6, 0, 2, 3>,
2454 }, // Output pad bottom = 2
2455 { // Output pad bottom = 3
2456 Conv::template process_tile<0, 1, 6, 0, 3, 0>,
2457 Conv::template process_tile<0, 1, 6, 0, 3, 1>,
2458 Conv::template process_tile<0, 1, 6, 0, 3, 2>,
2459 Conv::template process_tile<0, 1, 6, 0, 3, 3>,
2460 }, // Output pad bottom = 3
2461 }, // Input pad right = 0
2462 { // Input pad right = 1
2463 { // Output pad bottom = 0
2464 Conv::template process_tile<0, 1, 6, 1, 0, 0>,
2465 Conv::template process_tile<0, 1, 6, 1, 0, 1>,
2466 Conv::template process_tile<0, 1, 6, 1, 0, 2>,
2467 Conv::template process_tile<0, 1, 6, 1, 0, 3>,
2468 }, // Output pad bottom = 0
2469 { // Output pad bottom = 1
2470 Conv::template process_tile<0, 1, 6, 1, 1, 0>,
2471 Conv::template process_tile<0, 1, 6, 1, 1, 1>,
2472 Conv::template process_tile<0, 1, 6, 1, 1, 2>,
2473 Conv::template process_tile<0, 1, 6, 1, 1, 3>,
2474 }, // Output pad bottom = 1
2475 { // Output pad bottom = 2
2476 Conv::template process_tile<0, 1, 6, 1, 2, 0>,
2477 Conv::template process_tile<0, 1, 6, 1, 2, 1>,
2478 Conv::template process_tile<0, 1, 6, 1, 2, 2>,
2479 Conv::template process_tile<0, 1, 6, 1, 2, 3>,
2480 }, // Output pad bottom = 2
2481 { // Output pad bottom = 3
2482 Conv::template process_tile<0, 1, 6, 1, 3, 0>,
2483 Conv::template process_tile<0, 1, 6, 1, 3, 1>,
2484 Conv::template process_tile<0, 1, 6, 1, 3, 2>,
2485 Conv::template process_tile<0, 1, 6, 1, 3, 3>,
2486 }, // Output pad bottom = 3
2487 }, // Input pad right = 1
2488 { // Input pad right = 2
2489 { // Output pad bottom = 0
2490 Conv::template process_tile<0, 1, 6, 2, 0, 0>,
2491 Conv::template process_tile<0, 1, 6, 2, 0, 1>,
2492 Conv::template process_tile<0, 1, 6, 2, 0, 2>,
2493 Conv::template process_tile<0, 1, 6, 2, 0, 3>,
2494 }, // Output pad bottom = 0
2495 { // Output pad bottom = 1
2496 Conv::template process_tile<0, 1, 6, 2, 1, 0>,
2497 Conv::template process_tile<0, 1, 6, 2, 1, 1>,
2498 Conv::template process_tile<0, 1, 6, 2, 1, 2>,
2499 Conv::template process_tile<0, 1, 6, 2, 1, 3>,
2500 }, // Output pad bottom = 1
2501 { // Output pad bottom = 2
2502 Conv::template process_tile<0, 1, 6, 2, 2, 0>,
2503 Conv::template process_tile<0, 1, 6, 2, 2, 1>,
2504 Conv::template process_tile<0, 1, 6, 2, 2, 2>,
2505 Conv::template process_tile<0, 1, 6, 2, 2, 3>,
2506 }, // Output pad bottom = 2
2507 { // Output pad bottom = 3
2508 Conv::template process_tile<0, 1, 6, 2, 3, 0>,
2509 Conv::template process_tile<0, 1, 6, 2, 3, 1>,
2510 Conv::template process_tile<0, 1, 6, 2, 3, 2>,
2511 Conv::template process_tile<0, 1, 6, 2, 3, 3>,
2512 }, // Output pad bottom = 3
2513 }, // Input pad right = 2
2514 { // Input pad right = 3
2515 { // Output pad bottom = 0
2516 Conv::template process_tile<0, 1, 6, 3, 0, 0>,
2517 Conv::template process_tile<0, 1, 6, 3, 0, 1>,
2518 Conv::template process_tile<0, 1, 6, 3, 0, 2>,
2519 Conv::template process_tile<0, 1, 6, 3, 0, 3>,
2520 }, // Output pad bottom = 0
2521 { // Output pad bottom = 1
2522 Conv::template process_tile<0, 1, 6, 3, 1, 0>,
2523 Conv::template process_tile<0, 1, 6, 3, 1, 1>,
2524 Conv::template process_tile<0, 1, 6, 3, 1, 2>,
2525 Conv::template process_tile<0, 1, 6, 3, 1, 3>,
2526 }, // Output pad bottom = 1
2527 { // Output pad bottom = 2
2528 Conv::template process_tile<0, 1, 6, 3, 2, 0>,
2529 Conv::template process_tile<0, 1, 6, 3, 2, 1>,
2530 Conv::template process_tile<0, 1, 6, 3, 2, 2>,
2531 Conv::template process_tile<0, 1, 6, 3, 2, 3>,
2532 }, // Output pad bottom = 2
2533 { // Output pad bottom = 3
2534 Conv::template process_tile<0, 1, 6, 3, 3, 0>,
2535 Conv::template process_tile<0, 1, 6, 3, 3, 1>,
2536 Conv::template process_tile<0, 1, 6, 3, 3, 2>,
2537 Conv::template process_tile<0, 1, 6, 3, 3, 3>,
2538 }, // Output pad bottom = 3
2539 }, // Input pad right = 3
2540 { // Input pad right = 4
2541 { // Output pad bottom = 0
2542 Conv::template process_tile<0, 1, 6, 4, 0, 0>,
2543 Conv::template process_tile<0, 1, 6, 4, 0, 1>,
2544 Conv::template process_tile<0, 1, 6, 4, 0, 2>,
2545 Conv::template process_tile<0, 1, 6, 4, 0, 3>,
2546 }, // Output pad bottom = 0
2547 { // Output pad bottom = 1
2548 Conv::template process_tile<0, 1, 6, 4, 1, 0>,
2549 Conv::template process_tile<0, 1, 6, 4, 1, 1>,
2550 Conv::template process_tile<0, 1, 6, 4, 1, 2>,
2551 Conv::template process_tile<0, 1, 6, 4, 1, 3>,
2552 }, // Output pad bottom = 1
2553 { // Output pad bottom = 2
2554 Conv::template process_tile<0, 1, 6, 4, 2, 0>,
2555 Conv::template process_tile<0, 1, 6, 4, 2, 1>,
2556 Conv::template process_tile<0, 1, 6, 4, 2, 2>,
2557 Conv::template process_tile<0, 1, 6, 4, 2, 3>,
2558 }, // Output pad bottom = 2
2559 { // Output pad bottom = 3
2560 Conv::template process_tile<0, 1, 6, 4, 3, 0>,
2561 Conv::template process_tile<0, 1, 6, 4, 3, 1>,
2562 Conv::template process_tile<0, 1, 6, 4, 3, 2>,
2563 Conv::template process_tile<0, 1, 6, 4, 3, 3>,
2564 }, // Output pad bottom = 3
2565 }, // Input pad right = 4
2566 { // Input pad right = 5
2567 { // Output pad bottom = 0
2568 Conv::template process_tile<0, 1, 6, 5, 0, 0>,
2569 Conv::template process_tile<0, 1, 6, 5, 0, 1>,
2570 Conv::template process_tile<0, 1, 6, 5, 0, 2>,
2571 Conv::template process_tile<0, 1, 6, 5, 0, 3>,
2572 }, // Output pad bottom = 0
2573 { // Output pad bottom = 1
2574 Conv::template process_tile<0, 1, 6, 5, 1, 0>,
2575 Conv::template process_tile<0, 1, 6, 5, 1, 1>,
2576 Conv::template process_tile<0, 1, 6, 5, 1, 2>,
2577 Conv::template process_tile<0, 1, 6, 5, 1, 3>,
2578 }, // Output pad bottom = 1
2579 { // Output pad bottom = 2
2580 Conv::template process_tile<0, 1, 6, 5, 2, 0>,
2581 Conv::template process_tile<0, 1, 6, 5, 2, 1>,
2582 Conv::template process_tile<0, 1, 6, 5, 2, 2>,
2583 Conv::template process_tile<0, 1, 6, 5, 2, 3>,
2584 }, // Output pad bottom = 2
2585 { // Output pad bottom = 3
2586 Conv::template process_tile<0, 1, 6, 5, 3, 0>,
2587 Conv::template process_tile<0, 1, 6, 5, 3, 1>,
2588 Conv::template process_tile<0, 1, 6, 5, 3, 2>,
2589 Conv::template process_tile<0, 1, 6, 5, 3, 3>,
2590 }, // Output pad bottom = 3
2591 }, // Input pad right = 5
2592 { // Input pad right = 6
2593 { // Output pad bottom = 0
2594 Conv::template process_tile<0, 1, 6, 6, 0, 0>,
2595 Conv::template process_tile<0, 1, 6, 6, 0, 1>,
2596 Conv::template process_tile<0, 1, 6, 6, 0, 2>,
2597 Conv::template process_tile<0, 1, 6, 6, 0, 3>,
2598 }, // Output pad bottom = 0
2599 { // Output pad bottom = 1
2600 Conv::template process_tile<0, 1, 6, 6, 1, 0>,
2601 Conv::template process_tile<0, 1, 6, 6, 1, 1>,
2602 Conv::template process_tile<0, 1, 6, 6, 1, 2>,
2603 Conv::template process_tile<0, 1, 6, 6, 1, 3>,
2604 }, // Output pad bottom = 1
2605 { // Output pad bottom = 2
2606 Conv::template process_tile<0, 1, 6, 6, 2, 0>,
2607 Conv::template process_tile<0, 1, 6, 6, 2, 1>,
2608 Conv::template process_tile<0, 1, 6, 6, 2, 2>,
2609 Conv::template process_tile<0, 1, 6, 6, 2, 3>,
2610 }, // Output pad bottom = 2
2611 { // Output pad bottom = 3
2612 Conv::template process_tile<0, 1, 6, 6, 3, 0>,
2613 Conv::template process_tile<0, 1, 6, 6, 3, 1>,
2614 Conv::template process_tile<0, 1, 6, 6, 3, 2>,
2615 Conv::template process_tile<0, 1, 6, 6, 3, 3>,
2616 }, // Output pad bottom = 3
2617 }, // Input pad right = 6
2618 }, // Input pad bottom = 6
2619 }, // Input pad left = 1
2620 }, // Input pad top = 0
2621 { // Input pad top = 1
2622 { // Input pad left = 0
2623 { // Input pad bottom = 0
2624 { // Input pad right = 0
2625 { // Output pad bottom = 0
2626 Conv::template process_tile<1, 0, 0, 0, 0, 0>,
2627 Conv::template process_tile<1, 0, 0, 0, 0, 1>,
2628 Conv::template process_tile<1, 0, 0, 0, 0, 2>,
2629 Conv::template process_tile<1, 0, 0, 0, 0, 3>,
2630 }, // Output pad bottom = 0
2631 { // Output pad bottom = 1
2632 Conv::template process_tile<1, 0, 0, 0, 1, 0>,
2633 Conv::template process_tile<1, 0, 0, 0, 1, 1>,
2634 Conv::template process_tile<1, 0, 0, 0, 1, 2>,
2635 Conv::template process_tile<1, 0, 0, 0, 1, 3>,
2636 }, // Output pad bottom = 1
2637 { // Output pad bottom = 2
2638 Conv::template process_tile<1, 0, 0, 0, 2, 0>,
2639 Conv::template process_tile<1, 0, 0, 0, 2, 1>,
2640 Conv::template process_tile<1, 0, 0, 0, 2, 2>,
2641 Conv::template process_tile<1, 0, 0, 0, 2, 3>,
2642 }, // Output pad bottom = 2
2643 { // Output pad bottom = 3
2644 Conv::template process_tile<1, 0, 0, 0, 3, 0>,
2645 Conv::template process_tile<1, 0, 0, 0, 3, 1>,
2646 Conv::template process_tile<1, 0, 0, 0, 3, 2>,
2647 Conv::template process_tile<1, 0, 0, 0, 3, 3>,
2648 }, // Output pad bottom = 3
2649 }, // Input pad right = 0
2650 { // Input pad right = 1
2651 { // Output pad bottom = 0
2652 Conv::template process_tile<1, 0, 0, 1, 0, 0>,
2653 Conv::template process_tile<1, 0, 0, 1, 0, 1>,
2654 Conv::template process_tile<1, 0, 0, 1, 0, 2>,
2655 Conv::template process_tile<1, 0, 0, 1, 0, 3>,
2656 }, // Output pad bottom = 0
2657 { // Output pad bottom = 1
2658 Conv::template process_tile<1, 0, 0, 1, 1, 0>,
2659 Conv::template process_tile<1, 0, 0, 1, 1, 1>,
2660 Conv::template process_tile<1, 0, 0, 1, 1, 2>,
2661 Conv::template process_tile<1, 0, 0, 1, 1, 3>,
2662 }, // Output pad bottom = 1
2663 { // Output pad bottom = 2
2664 Conv::template process_tile<1, 0, 0, 1, 2, 0>,
2665 Conv::template process_tile<1, 0, 0, 1, 2, 1>,
2666 Conv::template process_tile<1, 0, 0, 1, 2, 2>,
2667 Conv::template process_tile<1, 0, 0, 1, 2, 3>,
2668 }, // Output pad bottom = 2
2669 { // Output pad bottom = 3
2670 Conv::template process_tile<1, 0, 0, 1, 3, 0>,
2671 Conv::template process_tile<1, 0, 0, 1, 3, 1>,
2672 Conv::template process_tile<1, 0, 0, 1, 3, 2>,
2673 Conv::template process_tile<1, 0, 0, 1, 3, 3>,
2674 }, // Output pad bottom = 3
2675 }, // Input pad right = 1
2676 { // Input pad right = 2
2677 { // Output pad bottom = 0
2678 Conv::template process_tile<1, 0, 0, 2, 0, 0>,
2679 Conv::template process_tile<1, 0, 0, 2, 0, 1>,
2680 Conv::template process_tile<1, 0, 0, 2, 0, 2>,
2681 Conv::template process_tile<1, 0, 0, 2, 0, 3>,
2682 }, // Output pad bottom = 0
2683 { // Output pad bottom = 1
2684 Conv::template process_tile<1, 0, 0, 2, 1, 0>,
2685 Conv::template process_tile<1, 0, 0, 2, 1, 1>,
2686 Conv::template process_tile<1, 0, 0, 2, 1, 2>,
2687 Conv::template process_tile<1, 0, 0, 2, 1, 3>,
2688 }, // Output pad bottom = 1
2689 { // Output pad bottom = 2
2690 Conv::template process_tile<1, 0, 0, 2, 2, 0>,
2691 Conv::template process_tile<1, 0, 0, 2, 2, 1>,
2692 Conv::template process_tile<1, 0, 0, 2, 2, 2>,
2693 Conv::template process_tile<1, 0, 0, 2, 2, 3>,
2694 }, // Output pad bottom = 2
2695 { // Output pad bottom = 3
2696 Conv::template process_tile<1, 0, 0, 2, 3, 0>,
2697 Conv::template process_tile<1, 0, 0, 2, 3, 1>,
2698 Conv::template process_tile<1, 0, 0, 2, 3, 2>,
2699 Conv::template process_tile<1, 0, 0, 2, 3, 3>,
2700 }, // Output pad bottom = 3
2701 }, // Input pad right = 2
2702 { // Input pad right = 3
2703 { // Output pad bottom = 0
2704 Conv::template process_tile<1, 0, 0, 3, 0, 0>,
2705 Conv::template process_tile<1, 0, 0, 3, 0, 1>,
2706 Conv::template process_tile<1, 0, 0, 3, 0, 2>,
2707 Conv::template process_tile<1, 0, 0, 3, 0, 3>,
2708 }, // Output pad bottom = 0
2709 { // Output pad bottom = 1
2710 Conv::template process_tile<1, 0, 0, 3, 1, 0>,
2711 Conv::template process_tile<1, 0, 0, 3, 1, 1>,
2712 Conv::template process_tile<1, 0, 0, 3, 1, 2>,
2713 Conv::template process_tile<1, 0, 0, 3, 1, 3>,
2714 }, // Output pad bottom = 1
2715 { // Output pad bottom = 2
2716 Conv::template process_tile<1, 0, 0, 3, 2, 0>,
2717 Conv::template process_tile<1, 0, 0, 3, 2, 1>,
2718 Conv::template process_tile<1, 0, 0, 3, 2, 2>,
2719 Conv::template process_tile<1, 0, 0, 3, 2, 3>,
2720 }, // Output pad bottom = 2
2721 { // Output pad bottom = 3
2722 Conv::template process_tile<1, 0, 0, 3, 3, 0>,
2723 Conv::template process_tile<1, 0, 0, 3, 3, 1>,
2724 Conv::template process_tile<1, 0, 0, 3, 3, 2>,
2725 Conv::template process_tile<1, 0, 0, 3, 3, 3>,
2726 }, // Output pad bottom = 3
2727 }, // Input pad right = 3
2728 { // Input pad right = 4
2729 { // Output pad bottom = 0
2730 Conv::template process_tile<1, 0, 0, 4, 0, 0>,
2731 Conv::template process_tile<1, 0, 0, 4, 0, 1>,
2732 Conv::template process_tile<1, 0, 0, 4, 0, 2>,
2733 Conv::template process_tile<1, 0, 0, 4, 0, 3>,
2734 }, // Output pad bottom = 0
2735 { // Output pad bottom = 1
2736 Conv::template process_tile<1, 0, 0, 4, 1, 0>,
2737 Conv::template process_tile<1, 0, 0, 4, 1, 1>,
2738 Conv::template process_tile<1, 0, 0, 4, 1, 2>,
2739 Conv::template process_tile<1, 0, 0, 4, 1, 3>,
2740 }, // Output pad bottom = 1
2741 { // Output pad bottom = 2
2742 Conv::template process_tile<1, 0, 0, 4, 2, 0>,
2743 Conv::template process_tile<1, 0, 0, 4, 2, 1>,
2744 Conv::template process_tile<1, 0, 0, 4, 2, 2>,
2745 Conv::template process_tile<1, 0, 0, 4, 2, 3>,
2746 }, // Output pad bottom = 2
2747 { // Output pad bottom = 3
2748 Conv::template process_tile<1, 0, 0, 4, 3, 0>,
2749 Conv::template process_tile<1, 0, 0, 4, 3, 1>,
2750 Conv::template process_tile<1, 0, 0, 4, 3, 2>,
2751 Conv::template process_tile<1, 0, 0, 4, 3, 3>,
2752 }, // Output pad bottom = 3
2753 }, // Input pad right = 4
2754 { // Input pad right = 5
2755 { // Output pad bottom = 0
2756 Conv::template process_tile<1, 0, 0, 5, 0, 0>,
2757 Conv::template process_tile<1, 0, 0, 5, 0, 1>,
2758 Conv::template process_tile<1, 0, 0, 5, 0, 2>,
2759 Conv::template process_tile<1, 0, 0, 5, 0, 3>,
2760 }, // Output pad bottom = 0
2761 { // Output pad bottom = 1
2762 Conv::template process_tile<1, 0, 0, 5, 1, 0>,
2763 Conv::template process_tile<1, 0, 0, 5, 1, 1>,
2764 Conv::template process_tile<1, 0, 0, 5, 1, 2>,
2765 Conv::template process_tile<1, 0, 0, 5, 1, 3>,
2766 }, // Output pad bottom = 1
2767 { // Output pad bottom = 2
2768 Conv::template process_tile<1, 0, 0, 5, 2, 0>,
2769 Conv::template process_tile<1, 0, 0, 5, 2, 1>,
2770 Conv::template process_tile<1, 0, 0, 5, 2, 2>,
2771 Conv::template process_tile<1, 0, 0, 5, 2, 3>,
2772 }, // Output pad bottom = 2
2773 { // Output pad bottom = 3
2774 Conv::template process_tile<1, 0, 0, 5, 3, 0>,
2775 Conv::template process_tile<1, 0, 0, 5, 3, 1>,
2776 Conv::template process_tile<1, 0, 0, 5, 3, 2>,
2777 Conv::template process_tile<1, 0, 0, 5, 3, 3>,
2778 }, // Output pad bottom = 3
2779 }, // Input pad right = 5
2780 { // Input pad right = 6
2781 { // Output pad bottom = 0
2782 Conv::template process_tile<1, 0, 0, 6, 0, 0>,
2783 Conv::template process_tile<1, 0, 0, 6, 0, 1>,
2784 Conv::template process_tile<1, 0, 0, 6, 0, 2>,
2785 Conv::template process_tile<1, 0, 0, 6, 0, 3>,
2786 }, // Output pad bottom = 0
2787 { // Output pad bottom = 1
2788 Conv::template process_tile<1, 0, 0, 6, 1, 0>,
2789 Conv::template process_tile<1, 0, 0, 6, 1, 1>,
2790 Conv::template process_tile<1, 0, 0, 6, 1, 2>,
2791 Conv::template process_tile<1, 0, 0, 6, 1, 3>,
2792 }, // Output pad bottom = 1
2793 { // Output pad bottom = 2
2794 Conv::template process_tile<1, 0, 0, 6, 2, 0>,
2795 Conv::template process_tile<1, 0, 0, 6, 2, 1>,
2796 Conv::template process_tile<1, 0, 0, 6, 2, 2>,
2797 Conv::template process_tile<1, 0, 0, 6, 2, 3>,
2798 }, // Output pad bottom = 2
2799 { // Output pad bottom = 3
2800 Conv::template process_tile<1, 0, 0, 6, 3, 0>,
2801 Conv::template process_tile<1, 0, 0, 6, 3, 1>,
2802 Conv::template process_tile<1, 0, 0, 6, 3, 2>,
2803 Conv::template process_tile<1, 0, 0, 6, 3, 3>,
2804 }, // Output pad bottom = 3
2805 }, // Input pad right = 6
2806 }, // Input pad bottom = 0
2807 { // Input pad bottom = 1
2808 { // Input pad right = 0
2809 { // Output pad bottom = 0
2810 Conv::template process_tile<1, 0, 1, 0, 0, 0>,
2811 Conv::template process_tile<1, 0, 1, 0, 0, 1>,
2812 Conv::template process_tile<1, 0, 1, 0, 0, 2>,
2813 Conv::template process_tile<1, 0, 1, 0, 0, 3>,
2814 }, // Output pad bottom = 0
2815 { // Output pad bottom = 1
2816 Conv::template process_tile<1, 0, 1, 0, 1, 0>,
2817 Conv::template process_tile<1, 0, 1, 0, 1, 1>,
2818 Conv::template process_tile<1, 0, 1, 0, 1, 2>,
2819 Conv::template process_tile<1, 0, 1, 0, 1, 3>,
2820 }, // Output pad bottom = 1
2821 { // Output pad bottom = 2
2822 Conv::template process_tile<1, 0, 1, 0, 2, 0>,
2823 Conv::template process_tile<1, 0, 1, 0, 2, 1>,
2824 Conv::template process_tile<1, 0, 1, 0, 2, 2>,
2825 Conv::template process_tile<1, 0, 1, 0, 2, 3>,
2826 }, // Output pad bottom = 2
2827 { // Output pad bottom = 3
2828 Conv::template process_tile<1, 0, 1, 0, 3, 0>,
2829 Conv::template process_tile<1, 0, 1, 0, 3, 1>,
2830 Conv::template process_tile<1, 0, 1, 0, 3, 2>,
2831 Conv::template process_tile<1, 0, 1, 0, 3, 3>,
2832 }, // Output pad bottom = 3
2833 }, // Input pad right = 0
2834 { // Input pad right = 1
2835 { // Output pad bottom = 0
2836 Conv::template process_tile<1, 0, 1, 1, 0, 0>,
2837 Conv::template process_tile<1, 0, 1, 1, 0, 1>,
2838 Conv::template process_tile<1, 0, 1, 1, 0, 2>,
2839 Conv::template process_tile<1, 0, 1, 1, 0, 3>,
2840 }, // Output pad bottom = 0
2841 { // Output pad bottom = 1
2842 Conv::template process_tile<1, 0, 1, 1, 1, 0>,
2843 Conv::template process_tile<1, 0, 1, 1, 1, 1>,
2844 Conv::template process_tile<1, 0, 1, 1, 1, 2>,
2845 Conv::template process_tile<1, 0, 1, 1, 1, 3>,
2846 }, // Output pad bottom = 1
2847 { // Output pad bottom = 2
2848 Conv::template process_tile<1, 0, 1, 1, 2, 0>,
2849 Conv::template process_tile<1, 0, 1, 1, 2, 1>,
2850 Conv::template process_tile<1, 0, 1, 1, 2, 2>,
2851 Conv::template process_tile<1, 0, 1, 1, 2, 3>,
2852 }, // Output pad bottom = 2
2853 { // Output pad bottom = 3
2854 Conv::template process_tile<1, 0, 1, 1, 3, 0>,
2855 Conv::template process_tile<1, 0, 1, 1, 3, 1>,
2856 Conv::template process_tile<1, 0, 1, 1, 3, 2>,
2857 Conv::template process_tile<1, 0, 1, 1, 3, 3>,
2858 }, // Output pad bottom = 3
2859 }, // Input pad right = 1
2860 { // Input pad right = 2
2861 { // Output pad bottom = 0
2862 Conv::template process_tile<1, 0, 1, 2, 0, 0>,
2863 Conv::template process_tile<1, 0, 1, 2, 0, 1>,
2864 Conv::template process_tile<1, 0, 1, 2, 0, 2>,
2865 Conv::template process_tile<1, 0, 1, 2, 0, 3>,
2866 }, // Output pad bottom = 0
2867 { // Output pad bottom = 1
2868 Conv::template process_tile<1, 0, 1, 2, 1, 0>,
2869 Conv::template process_tile<1, 0, 1, 2, 1, 1>,
2870 Conv::template process_tile<1, 0, 1, 2, 1, 2>,
2871 Conv::template process_tile<1, 0, 1, 2, 1, 3>,
2872 }, // Output pad bottom = 1
2873 { // Output pad bottom = 2
2874 Conv::template process_tile<1, 0, 1, 2, 2, 0>,
2875 Conv::template process_tile<1, 0, 1, 2, 2, 1>,
2876 Conv::template process_tile<1, 0, 1, 2, 2, 2>,
2877 Conv::template process_tile<1, 0, 1, 2, 2, 3>,
2878 }, // Output pad bottom = 2
2879 { // Output pad bottom = 3
2880 Conv::template process_tile<1, 0, 1, 2, 3, 0>,
2881 Conv::template process_tile<1, 0, 1, 2, 3, 1>,
2882 Conv::template process_tile<1, 0, 1, 2, 3, 2>,
2883 Conv::template process_tile<1, 0, 1, 2, 3, 3>,
2884 }, // Output pad bottom = 3
2885 }, // Input pad right = 2
2886 { // Input pad right = 3
2887 { // Output pad bottom = 0
2888 Conv::template process_tile<1, 0, 1, 3, 0, 0>,
2889 Conv::template process_tile<1, 0, 1, 3, 0, 1>,
2890 Conv::template process_tile<1, 0, 1, 3, 0, 2>,
2891 Conv::template process_tile<1, 0, 1, 3, 0, 3>,
2892 }, // Output pad bottom = 0
2893 { // Output pad bottom = 1
2894 Conv::template process_tile<1, 0, 1, 3, 1, 0>,
2895 Conv::template process_tile<1, 0, 1, 3, 1, 1>,
2896 Conv::template process_tile<1, 0, 1, 3, 1, 2>,
2897 Conv::template process_tile<1, 0, 1, 3, 1, 3>,
2898 }, // Output pad bottom = 1
2899 { // Output pad bottom = 2
2900 Conv::template process_tile<1, 0, 1, 3, 2, 0>,
2901 Conv::template process_tile<1, 0, 1, 3, 2, 1>,
2902 Conv::template process_tile<1, 0, 1, 3, 2, 2>,
2903 Conv::template process_tile<1, 0, 1, 3, 2, 3>,
2904 }, // Output pad bottom = 2
2905 { // Output pad bottom = 3
2906 Conv::template process_tile<1, 0, 1, 3, 3, 0>,
2907 Conv::template process_tile<1, 0, 1, 3, 3, 1>,
2908 Conv::template process_tile<1, 0, 1, 3, 3, 2>,
2909 Conv::template process_tile<1, 0, 1, 3, 3, 3>,
2910 }, // Output pad bottom = 3
2911 }, // Input pad right = 3
2912 { // Input pad right = 4
2913 { // Output pad bottom = 0
2914 Conv::template process_tile<1, 0, 1, 4, 0, 0>,
2915 Conv::template process_tile<1, 0, 1, 4, 0, 1>,
2916 Conv::template process_tile<1, 0, 1, 4, 0, 2>,
2917 Conv::template process_tile<1, 0, 1, 4, 0, 3>,
2918 }, // Output pad bottom = 0
2919 { // Output pad bottom = 1
2920 Conv::template process_tile<1, 0, 1, 4, 1, 0>,
2921 Conv::template process_tile<1, 0, 1, 4, 1, 1>,
2922 Conv::template process_tile<1, 0, 1, 4, 1, 2>,
2923 Conv::template process_tile<1, 0, 1, 4, 1, 3>,
2924 }, // Output pad bottom = 1
2925 { // Output pad bottom = 2
2926 Conv::template process_tile<1, 0, 1, 4, 2, 0>,
2927 Conv::template process_tile<1, 0, 1, 4, 2, 1>,
2928 Conv::template process_tile<1, 0, 1, 4, 2, 2>,
2929 Conv::template process_tile<1, 0, 1, 4, 2, 3>,
2930 }, // Output pad bottom = 2
2931 { // Output pad bottom = 3
2932 Conv::template process_tile<1, 0, 1, 4, 3, 0>,
2933 Conv::template process_tile<1, 0, 1, 4, 3, 1>,
2934 Conv::template process_tile<1, 0, 1, 4, 3, 2>,
2935 Conv::template process_tile<1, 0, 1, 4, 3, 3>,
2936 }, // Output pad bottom = 3
2937 }, // Input pad right = 4
2938 { // Input pad right = 5
2939 { // Output pad bottom = 0
2940 Conv::template process_tile<1, 0, 1, 5, 0, 0>,
2941 Conv::template process_tile<1, 0, 1, 5, 0, 1>,
2942 Conv::template process_tile<1, 0, 1, 5, 0, 2>,
2943 Conv::template process_tile<1, 0, 1, 5, 0, 3>,
2944 }, // Output pad bottom = 0
2945 { // Output pad bottom = 1
2946 Conv::template process_tile<1, 0, 1, 5, 1, 0>,
2947 Conv::template process_tile<1, 0, 1, 5, 1, 1>,
2948 Conv::template process_tile<1, 0, 1, 5, 1, 2>,
2949 Conv::template process_tile<1, 0, 1, 5, 1, 3>,
2950 }, // Output pad bottom = 1
2951 { // Output pad bottom = 2
2952 Conv::template process_tile<1, 0, 1, 5, 2, 0>,
2953 Conv::template process_tile<1, 0, 1, 5, 2, 1>,
2954 Conv::template process_tile<1, 0, 1, 5, 2, 2>,
2955 Conv::template process_tile<1, 0, 1, 5, 2, 3>,
2956 }, // Output pad bottom = 2
2957 { // Output pad bottom = 3
2958 Conv::template process_tile<1, 0, 1, 5, 3, 0>,
2959 Conv::template process_tile<1, 0, 1, 5, 3, 1>,
2960 Conv::template process_tile<1, 0, 1, 5, 3, 2>,
2961 Conv::template process_tile<1, 0, 1, 5, 3, 3>,
2962 }, // Output pad bottom = 3
2963 }, // Input pad right = 5
2964 { // Input pad right = 6
2965 { // Output pad bottom = 0
2966 Conv::template process_tile<1, 0, 1, 6, 0, 0>,
2967 Conv::template process_tile<1, 0, 1, 6, 0, 1>,
2968 Conv::template process_tile<1, 0, 1, 6, 0, 2>,
2969 Conv::template process_tile<1, 0, 1, 6, 0, 3>,
2970 }, // Output pad bottom = 0
2971 { // Output pad bottom = 1
2972 Conv::template process_tile<1, 0, 1, 6, 1, 0>,
2973 Conv::template process_tile<1, 0, 1, 6, 1, 1>,
2974 Conv::template process_tile<1, 0, 1, 6, 1, 2>,
2975 Conv::template process_tile<1, 0, 1, 6, 1, 3>,
2976 }, // Output pad bottom = 1
2977 { // Output pad bottom = 2
2978 Conv::template process_tile<1, 0, 1, 6, 2, 0>,
2979 Conv::template process_tile<1, 0, 1, 6, 2, 1>,
2980 Conv::template process_tile<1, 0, 1, 6, 2, 2>,
2981 Conv::template process_tile<1, 0, 1, 6, 2, 3>,
2982 }, // Output pad bottom = 2
2983 { // Output pad bottom = 3
2984 Conv::template process_tile<1, 0, 1, 6, 3, 0>,
2985 Conv::template process_tile<1, 0, 1, 6, 3, 1>,
2986 Conv::template process_tile<1, 0, 1, 6, 3, 2>,
2987 Conv::template process_tile<1, 0, 1, 6, 3, 3>,
2988 }, // Output pad bottom = 3
2989 }, // Input pad right = 6
2990 }, // Input pad bottom = 1
2991 { // Input pad bottom = 2
2992 { // Input pad right = 0
2993 { // Output pad bottom = 0
2994 Conv::template process_tile<1, 0, 2, 0, 0, 0>,
2995 Conv::template process_tile<1, 0, 2, 0, 0, 1>,
2996 Conv::template process_tile<1, 0, 2, 0, 0, 2>,
2997 Conv::template process_tile<1, 0, 2, 0, 0, 3>,
2998 }, // Output pad bottom = 0
2999 { // Output pad bottom = 1
3000 Conv::template process_tile<1, 0, 2, 0, 1, 0>,
3001 Conv::template process_tile<1, 0, 2, 0, 1, 1>,
3002 Conv::template process_tile<1, 0, 2, 0, 1, 2>,
3003 Conv::template process_tile<1, 0, 2, 0, 1, 3>,
3004 }, // Output pad bottom = 1
3005 { // Output pad bottom = 2
3006 Conv::template process_tile<1, 0, 2, 0, 2, 0>,
3007 Conv::template process_tile<1, 0, 2, 0, 2, 1>,
3008 Conv::template process_tile<1, 0, 2, 0, 2, 2>,
3009 Conv::template process_tile<1, 0, 2, 0, 2, 3>,
3010 }, // Output pad bottom = 2
3011 { // Output pad bottom = 3
3012 Conv::template process_tile<1, 0, 2, 0, 3, 0>,
3013 Conv::template process_tile<1, 0, 2, 0, 3, 1>,
3014 Conv::template process_tile<1, 0, 2, 0, 3, 2>,
3015 Conv::template process_tile<1, 0, 2, 0, 3, 3>,
3016 }, // Output pad bottom = 3
3017 }, // Input pad right = 0
3018 { // Input pad right = 1
3019 { // Output pad bottom = 0
3020 Conv::template process_tile<1, 0, 2, 1, 0, 0>,
3021 Conv::template process_tile<1, 0, 2, 1, 0, 1>,
3022 Conv::template process_tile<1, 0, 2, 1, 0, 2>,
3023 Conv::template process_tile<1, 0, 2, 1, 0, 3>,
3024 }, // Output pad bottom = 0
3025 { // Output pad bottom = 1
3026 Conv::template process_tile<1, 0, 2, 1, 1, 0>,
3027 Conv::template process_tile<1, 0, 2, 1, 1, 1>,
3028 Conv::template process_tile<1, 0, 2, 1, 1, 2>,
3029 Conv::template process_tile<1, 0, 2, 1, 1, 3>,
3030 }, // Output pad bottom = 1
3031 { // Output pad bottom = 2
3032 Conv::template process_tile<1, 0, 2, 1, 2, 0>,
3033 Conv::template process_tile<1, 0, 2, 1, 2, 1>,
3034 Conv::template process_tile<1, 0, 2, 1, 2, 2>,
3035 Conv::template process_tile<1, 0, 2, 1, 2, 3>,
3036 }, // Output pad bottom = 2
3037 { // Output pad bottom = 3
3038 Conv::template process_tile<1, 0, 2, 1, 3, 0>,
3039 Conv::template process_tile<1, 0, 2, 1, 3, 1>,
3040 Conv::template process_tile<1, 0, 2, 1, 3, 2>,
3041 Conv::template process_tile<1, 0, 2, 1, 3, 3>,
3042 }, // Output pad bottom = 3
3043 }, // Input pad right = 1
3044 { // Input pad right = 2
3045 { // Output pad bottom = 0
3046 Conv::template process_tile<1, 0, 2, 2, 0, 0>,
3047 Conv::template process_tile<1, 0, 2, 2, 0, 1>,
3048 Conv::template process_tile<1, 0, 2, 2, 0, 2>,
3049 Conv::template process_tile<1, 0, 2, 2, 0, 3>,
3050 }, // Output pad bottom = 0
3051 { // Output pad bottom = 1
3052 Conv::template process_tile<1, 0, 2, 2, 1, 0>,
3053 Conv::template process_tile<1, 0, 2, 2, 1, 1>,
3054 Conv::template process_tile<1, 0, 2, 2, 1, 2>,
3055 Conv::template process_tile<1, 0, 2, 2, 1, 3>,
3056 }, // Output pad bottom = 1
3057 { // Output pad bottom = 2
3058 Conv::template process_tile<1, 0, 2, 2, 2, 0>,
3059 Conv::template process_tile<1, 0, 2, 2, 2, 1>,
3060 Conv::template process_tile<1, 0, 2, 2, 2, 2>,
3061 Conv::template process_tile<1, 0, 2, 2, 2, 3>,
3062 }, // Output pad bottom = 2
3063 { // Output pad bottom = 3
3064 Conv::template process_tile<1, 0, 2, 2, 3, 0>,
3065 Conv::template process_tile<1, 0, 2, 2, 3, 1>,
3066 Conv::template process_tile<1, 0, 2, 2, 3, 2>,
3067 Conv::template process_tile<1, 0, 2, 2, 3, 3>,
3068 }, // Output pad bottom = 3
3069 }, // Input pad right = 2
3070 { // Input pad right = 3
3071 { // Output pad bottom = 0
3072 Conv::template process_tile<1, 0, 2, 3, 0, 0>,
3073 Conv::template process_tile<1, 0, 2, 3, 0, 1>,
3074 Conv::template process_tile<1, 0, 2, 3, 0, 2>,
3075 Conv::template process_tile<1, 0, 2, 3, 0, 3>,
3076 }, // Output pad bottom = 0
3077 { // Output pad bottom = 1
3078 Conv::template process_tile<1, 0, 2, 3, 1, 0>,
3079 Conv::template process_tile<1, 0, 2, 3, 1, 1>,
3080 Conv::template process_tile<1, 0, 2, 3, 1, 2>,
3081 Conv::template process_tile<1, 0, 2, 3, 1, 3>,
3082 }, // Output pad bottom = 1
3083 { // Output pad bottom = 2
3084 Conv::template process_tile<1, 0, 2, 3, 2, 0>,
3085 Conv::template process_tile<1, 0, 2, 3, 2, 1>,
3086 Conv::template process_tile<1, 0, 2, 3, 2, 2>,
3087 Conv::template process_tile<1, 0, 2, 3, 2, 3>,
3088 }, // Output pad bottom = 2
3089 { // Output pad bottom = 3
3090 Conv::template process_tile<1, 0, 2, 3, 3, 0>,
3091 Conv::template process_tile<1, 0, 2, 3, 3, 1>,
3092 Conv::template process_tile<1, 0, 2, 3, 3, 2>,
3093 Conv::template process_tile<1, 0, 2, 3, 3, 3>,
3094 }, // Output pad bottom = 3
3095 }, // Input pad right = 3
3096 { // Input pad right = 4
3097 { // Output pad bottom = 0
3098 Conv::template process_tile<1, 0, 2, 4, 0, 0>,
3099 Conv::template process_tile<1, 0, 2, 4, 0, 1>,
3100 Conv::template process_tile<1, 0, 2, 4, 0, 2>,
3101 Conv::template process_tile<1, 0, 2, 4, 0, 3>,
3102 }, // Output pad bottom = 0
3103 { // Output pad bottom = 1
3104 Conv::template process_tile<1, 0, 2, 4, 1, 0>,
3105 Conv::template process_tile<1, 0, 2, 4, 1, 1>,
3106 Conv::template process_tile<1, 0, 2, 4, 1, 2>,
3107 Conv::template process_tile<1, 0, 2, 4, 1, 3>,
3108 }, // Output pad bottom = 1
3109 { // Output pad bottom = 2
3110 Conv::template process_tile<1, 0, 2, 4, 2, 0>,
3111 Conv::template process_tile<1, 0, 2, 4, 2, 1>,
3112 Conv::template process_tile<1, 0, 2, 4, 2, 2>,
3113 Conv::template process_tile<1, 0, 2, 4, 2, 3>,
3114 }, // Output pad bottom = 2
3115 { // Output pad bottom = 3
3116 Conv::template process_tile<1, 0, 2, 4, 3, 0>,
3117 Conv::template process_tile<1, 0, 2, 4, 3, 1>,
3118 Conv::template process_tile<1, 0, 2, 4, 3, 2>,
3119 Conv::template process_tile<1, 0, 2, 4, 3, 3>,
3120 }, // Output pad bottom = 3
3121 }, // Input pad right = 4
3122 { // Input pad right = 5
3123 { // Output pad bottom = 0
3124 Conv::template process_tile<1, 0, 2, 5, 0, 0>,
3125 Conv::template process_tile<1, 0, 2, 5, 0, 1>,
3126 Conv::template process_tile<1, 0, 2, 5, 0, 2>,
3127 Conv::template process_tile<1, 0, 2, 5, 0, 3>,
3128 }, // Output pad bottom = 0
3129 { // Output pad bottom = 1
3130 Conv::template process_tile<1, 0, 2, 5, 1, 0>,
3131 Conv::template process_tile<1, 0, 2, 5, 1, 1>,
3132 Conv::template process_tile<1, 0, 2, 5, 1, 2>,
3133 Conv::template process_tile<1, 0, 2, 5, 1, 3>,
3134 }, // Output pad bottom = 1
3135 { // Output pad bottom = 2
3136 Conv::template process_tile<1, 0, 2, 5, 2, 0>,
3137 Conv::template process_tile<1, 0, 2, 5, 2, 1>,
3138 Conv::template process_tile<1, 0, 2, 5, 2, 2>,
3139 Conv::template process_tile<1, 0, 2, 5, 2, 3>,
3140 }, // Output pad bottom = 2
3141 { // Output pad bottom = 3
3142 Conv::template process_tile<1, 0, 2, 5, 3, 0>,
3143 Conv::template process_tile<1, 0, 2, 5, 3, 1>,
3144 Conv::template process_tile<1, 0, 2, 5, 3, 2>,
3145 Conv::template process_tile<1, 0, 2, 5, 3, 3>,
3146 }, // Output pad bottom = 3
3147 }, // Input pad right = 5
3148 { // Input pad right = 6
3149 { // Output pad bottom = 0
3150 Conv::template process_tile<1, 0, 2, 6, 0, 0>,
3151 Conv::template process_tile<1, 0, 2, 6, 0, 1>,
3152 Conv::template process_tile<1, 0, 2, 6, 0, 2>,
3153 Conv::template process_tile<1, 0, 2, 6, 0, 3>,
3154 }, // Output pad bottom = 0
3155 { // Output pad bottom = 1
3156 Conv::template process_tile<1, 0, 2, 6, 1, 0>,
3157 Conv::template process_tile<1, 0, 2, 6, 1, 1>,
3158 Conv::template process_tile<1, 0, 2, 6, 1, 2>,
3159 Conv::template process_tile<1, 0, 2, 6, 1, 3>,
3160 }, // Output pad bottom = 1
3161 { // Output pad bottom = 2
3162 Conv::template process_tile<1, 0, 2, 6, 2, 0>,
3163 Conv::template process_tile<1, 0, 2, 6, 2, 1>,
3164 Conv::template process_tile<1, 0, 2, 6, 2, 2>,
3165 Conv::template process_tile<1, 0, 2, 6, 2, 3>,
3166 }, // Output pad bottom = 2
3167 { // Output pad bottom = 3
3168 Conv::template process_tile<1, 0, 2, 6, 3, 0>,
3169 Conv::template process_tile<1, 0, 2, 6, 3, 1>,
3170 Conv::template process_tile<1, 0, 2, 6, 3, 2>,
3171 Conv::template process_tile<1, 0, 2, 6, 3, 3>,
3172 }, // Output pad bottom = 3
3173 }, // Input pad right = 6
3174 }, // Input pad bottom = 2
3175 { // Input pad bottom = 3
3176 { // Input pad right = 0
3177 { // Output pad bottom = 0
3178 Conv::template process_tile<1, 0, 3, 0, 0, 0>,
3179 Conv::template process_tile<1, 0, 3, 0, 0, 1>,
3180 Conv::template process_tile<1, 0, 3, 0, 0, 2>,
3181 Conv::template process_tile<1, 0, 3, 0, 0, 3>,
3182 }, // Output pad bottom = 0
3183 { // Output pad bottom = 1
3184 Conv::template process_tile<1, 0, 3, 0, 1, 0>,
3185 Conv::template process_tile<1, 0, 3, 0, 1, 1>,
3186 Conv::template process_tile<1, 0, 3, 0, 1, 2>,
3187 Conv::template process_tile<1, 0, 3, 0, 1, 3>,
3188 }, // Output pad bottom = 1
3189 { // Output pad bottom = 2
3190 Conv::template process_tile<1, 0, 3, 0, 2, 0>,
3191 Conv::template process_tile<1, 0, 3, 0, 2, 1>,
3192 Conv::template process_tile<1, 0, 3, 0, 2, 2>,
3193 Conv::template process_tile<1, 0, 3, 0, 2, 3>,
3194 }, // Output pad bottom = 2
3195 { // Output pad bottom = 3
3196 Conv::template process_tile<1, 0, 3, 0, 3, 0>,
3197 Conv::template process_tile<1, 0, 3, 0, 3, 1>,
3198 Conv::template process_tile<1, 0, 3, 0, 3, 2>,
3199 Conv::template process_tile<1, 0, 3, 0, 3, 3>,
3200 }, // Output pad bottom = 3
3201 }, // Input pad right = 0
3202 { // Input pad right = 1
3203 { // Output pad bottom = 0
3204 Conv::template process_tile<1, 0, 3, 1, 0, 0>,
3205 Conv::template process_tile<1, 0, 3, 1, 0, 1>,
3206 Conv::template process_tile<1, 0, 3, 1, 0, 2>,
3207 Conv::template process_tile<1, 0, 3, 1, 0, 3>,
3208 }, // Output pad bottom = 0
3209 { // Output pad bottom = 1
3210 Conv::template process_tile<1, 0, 3, 1, 1, 0>,
3211 Conv::template process_tile<1, 0, 3, 1, 1, 1>,
3212 Conv::template process_tile<1, 0, 3, 1, 1, 2>,
3213 Conv::template process_tile<1, 0, 3, 1, 1, 3>,
3214 }, // Output pad bottom = 1
3215 { // Output pad bottom = 2
3216 Conv::template process_tile<1, 0, 3, 1, 2, 0>,
3217 Conv::template process_tile<1, 0, 3, 1, 2, 1>,
3218 Conv::template process_tile<1, 0, 3, 1, 2, 2>,
3219 Conv::template process_tile<1, 0, 3, 1, 2, 3>,
3220 }, // Output pad bottom = 2
3221 { // Output pad bottom = 3
3222 Conv::template process_tile<1, 0, 3, 1, 3, 0>,
3223 Conv::template process_tile<1, 0, 3, 1, 3, 1>,
3224 Conv::template process_tile<1, 0, 3, 1, 3, 2>,
3225 Conv::template process_tile<1, 0, 3, 1, 3, 3>,
3226 }, // Output pad bottom = 3
3227 }, // Input pad right = 1
3228 { // Input pad right = 2
3229 { // Output pad bottom = 0
3230 Conv::template process_tile<1, 0, 3, 2, 0, 0>,
3231 Conv::template process_tile<1, 0, 3, 2, 0, 1>,
3232 Conv::template process_tile<1, 0, 3, 2, 0, 2>,
3233 Conv::template process_tile<1, 0, 3, 2, 0, 3>,
3234 }, // Output pad bottom = 0
3235 { // Output pad bottom = 1
3236 Conv::template process_tile<1, 0, 3, 2, 1, 0>,
3237 Conv::template process_tile<1, 0, 3, 2, 1, 1>,
3238 Conv::template process_tile<1, 0, 3, 2, 1, 2>,
3239 Conv::template process_tile<1, 0, 3, 2, 1, 3>,
3240 }, // Output pad bottom = 1
3241 { // Output pad bottom = 2
3242 Conv::template process_tile<1, 0, 3, 2, 2, 0>,
3243 Conv::template process_tile<1, 0, 3, 2, 2, 1>,
3244 Conv::template process_tile<1, 0, 3, 2, 2, 2>,
3245 Conv::template process_tile<1, 0, 3, 2, 2, 3>,
3246 }, // Output pad bottom = 2
3247 { // Output pad bottom = 3
3248 Conv::template process_tile<1, 0, 3, 2, 3, 0>,
3249 Conv::template process_tile<1, 0, 3, 2, 3, 1>,
3250 Conv::template process_tile<1, 0, 3, 2, 3, 2>,
3251 Conv::template process_tile<1, 0, 3, 2, 3, 3>,
3252 }, // Output pad bottom = 3
3253 }, // Input pad right = 2
3254 { // Input pad right = 3
3255 { // Output pad bottom = 0
3256 Conv::template process_tile<1, 0, 3, 3, 0, 0>,
3257 Conv::template process_tile<1, 0, 3, 3, 0, 1>,
3258 Conv::template process_tile<1, 0, 3, 3, 0, 2>,
3259 Conv::template process_tile<1, 0, 3, 3, 0, 3>,
3260 }, // Output pad bottom = 0
3261 { // Output pad bottom = 1
3262 Conv::template process_tile<1, 0, 3, 3, 1, 0>,
3263 Conv::template process_tile<1, 0, 3, 3, 1, 1>,
3264 Conv::template process_tile<1, 0, 3, 3, 1, 2>,
3265 Conv::template process_tile<1, 0, 3, 3, 1, 3>,
3266 }, // Output pad bottom = 1
3267 { // Output pad bottom = 2
3268 Conv::template process_tile<1, 0, 3, 3, 2, 0>,
3269 Conv::template process_tile<1, 0, 3, 3, 2, 1>,
3270 Conv::template process_tile<1, 0, 3, 3, 2, 2>,
3271 Conv::template process_tile<1, 0, 3, 3, 2, 3>,
3272 }, // Output pad bottom = 2
3273 { // Output pad bottom = 3
3274 Conv::template process_tile<1, 0, 3, 3, 3, 0>,
3275 Conv::template process_tile<1, 0, 3, 3, 3, 1>,
3276 Conv::template process_tile<1, 0, 3, 3, 3, 2>,
3277 Conv::template process_tile<1, 0, 3, 3, 3, 3>,
3278 }, // Output pad bottom = 3
3279 }, // Input pad right = 3
3280 { // Input pad right = 4
3281 { // Output pad bottom = 0
3282 Conv::template process_tile<1, 0, 3, 4, 0, 0>,
3283 Conv::template process_tile<1, 0, 3, 4, 0, 1>,
3284 Conv::template process_tile<1, 0, 3, 4, 0, 2>,
3285 Conv::template process_tile<1, 0, 3, 4, 0, 3>,
3286 }, // Output pad bottom = 0
3287 { // Output pad bottom = 1
3288 Conv::template process_tile<1, 0, 3, 4, 1, 0>,
3289 Conv::template process_tile<1, 0, 3, 4, 1, 1>,
3290 Conv::template process_tile<1, 0, 3, 4, 1, 2>,
3291 Conv::template process_tile<1, 0, 3, 4, 1, 3>,
3292 }, // Output pad bottom = 1
3293 { // Output pad bottom = 2
3294 Conv::template process_tile<1, 0, 3, 4, 2, 0>,
3295 Conv::template process_tile<1, 0, 3, 4, 2, 1>,
3296 Conv::template process_tile<1, 0, 3, 4, 2, 2>,
3297 Conv::template process_tile<1, 0, 3, 4, 2, 3>,
3298 }, // Output pad bottom = 2
3299 { // Output pad bottom = 3
3300 Conv::template process_tile<1, 0, 3, 4, 3, 0>,
3301 Conv::template process_tile<1, 0, 3, 4, 3, 1>,
3302 Conv::template process_tile<1, 0, 3, 4, 3, 2>,
3303 Conv::template process_tile<1, 0, 3, 4, 3, 3>,
3304 }, // Output pad bottom = 3
3305 }, // Input pad right = 4
3306 { // Input pad right = 5
3307 { // Output pad bottom = 0
3308 Conv::template process_tile<1, 0, 3, 5, 0, 0>,
3309 Conv::template process_tile<1, 0, 3, 5, 0, 1>,
3310 Conv::template process_tile<1, 0, 3, 5, 0, 2>,
3311 Conv::template process_tile<1, 0, 3, 5, 0, 3>,
3312 }, // Output pad bottom = 0
3313 { // Output pad bottom = 1
3314 Conv::template process_tile<1, 0, 3, 5, 1, 0>,
3315 Conv::template process_tile<1, 0, 3, 5, 1, 1>,
3316 Conv::template process_tile<1, 0, 3, 5, 1, 2>,
3317 Conv::template process_tile<1, 0, 3, 5, 1, 3>,
3318 }, // Output pad bottom = 1
3319 { // Output pad bottom = 2
3320 Conv::template process_tile<1, 0, 3, 5, 2, 0>,
3321 Conv::template process_tile<1, 0, 3, 5, 2, 1>,
3322 Conv::template process_tile<1, 0, 3, 5, 2, 2>,
3323 Conv::template process_tile<1, 0, 3, 5, 2, 3>,
3324 }, // Output pad bottom = 2
3325 { // Output pad bottom = 3
3326 Conv::template process_tile<1, 0, 3, 5, 3, 0>,
3327 Conv::template process_tile<1, 0, 3, 5, 3, 1>,
3328 Conv::template process_tile<1, 0, 3, 5, 3, 2>,
3329 Conv::template process_tile<1, 0, 3, 5, 3, 3>,
3330 }, // Output pad bottom = 3
3331 }, // Input pad right = 5
3332 { // Input pad right = 6
3333 { // Output pad bottom = 0
3334 Conv::template process_tile<1, 0, 3, 6, 0, 0>,
3335 Conv::template process_tile<1, 0, 3, 6, 0, 1>,
3336 Conv::template process_tile<1, 0, 3, 6, 0, 2>,
3337 Conv::template process_tile<1, 0, 3, 6, 0, 3>,
3338 }, // Output pad bottom = 0
3339 { // Output pad bottom = 1
3340 Conv::template process_tile<1, 0, 3, 6, 1, 0>,
3341 Conv::template process_tile<1, 0, 3, 6, 1, 1>,
3342 Conv::template process_tile<1, 0, 3, 6, 1, 2>,
3343 Conv::template process_tile<1, 0, 3, 6, 1, 3>,
3344 }, // Output pad bottom = 1
3345 { // Output pad bottom = 2
3346 Conv::template process_tile<1, 0, 3, 6, 2, 0>,
3347 Conv::template process_tile<1, 0, 3, 6, 2, 1>,
3348 Conv::template process_tile<1, 0, 3, 6, 2, 2>,
3349 Conv::template process_tile<1, 0, 3, 6, 2, 3>,
3350 }, // Output pad bottom = 2
3351 { // Output pad bottom = 3
3352 Conv::template process_tile<1, 0, 3, 6, 3, 0>,
3353 Conv::template process_tile<1, 0, 3, 6, 3, 1>,
3354 Conv::template process_tile<1, 0, 3, 6, 3, 2>,
3355 Conv::template process_tile<1, 0, 3, 6, 3, 3>,
3356 }, // Output pad bottom = 3
3357 }, // Input pad right = 6
3358 }, // Input pad bottom = 3
3359 { // Input pad bottom = 4
3360 { // Input pad right = 0
3361 { // Output pad bottom = 0
3362 Conv::template process_tile<1, 0, 4, 0, 0, 0>,
3363 Conv::template process_tile<1, 0, 4, 0, 0, 1>,
3364 Conv::template process_tile<1, 0, 4, 0, 0, 2>,
3365 Conv::template process_tile<1, 0, 4, 0, 0, 3>,
3366 }, // Output pad bottom = 0
3367 { // Output pad bottom = 1
3368 Conv::template process_tile<1, 0, 4, 0, 1, 0>,
3369 Conv::template process_tile<1, 0, 4, 0, 1, 1>,
3370 Conv::template process_tile<1, 0, 4, 0, 1, 2>,
3371 Conv::template process_tile<1, 0, 4, 0, 1, 3>,
3372 }, // Output pad bottom = 1
3373 { // Output pad bottom = 2
3374 Conv::template process_tile<1, 0, 4, 0, 2, 0>,
3375 Conv::template process_tile<1, 0, 4, 0, 2, 1>,
3376 Conv::template process_tile<1, 0, 4, 0, 2, 2>,
3377 Conv::template process_tile<1, 0, 4, 0, 2, 3>,
3378 }, // Output pad bottom = 2
3379 { // Output pad bottom = 3
3380 Conv::template process_tile<1, 0, 4, 0, 3, 0>,
3381 Conv::template process_tile<1, 0, 4, 0, 3, 1>,
3382 Conv::template process_tile<1, 0, 4, 0, 3, 2>,
3383 Conv::template process_tile<1, 0, 4, 0, 3, 3>,
3384 }, // Output pad bottom = 3
3385 }, // Input pad right = 0
3386 { // Input pad right = 1
3387 { // Output pad bottom = 0
3388 Conv::template process_tile<1, 0, 4, 1, 0, 0>,
3389 Conv::template process_tile<1, 0, 4, 1, 0, 1>,
3390 Conv::template process_tile<1, 0, 4, 1, 0, 2>,
3391 Conv::template process_tile<1, 0, 4, 1, 0, 3>,
3392 }, // Output pad bottom = 0
3393 { // Output pad bottom = 1
3394 Conv::template process_tile<1, 0, 4, 1, 1, 0>,
3395 Conv::template process_tile<1, 0, 4, 1, 1, 1>,
3396 Conv::template process_tile<1, 0, 4, 1, 1, 2>,
3397 Conv::template process_tile<1, 0, 4, 1, 1, 3>,
3398 }, // Output pad bottom = 1
3399 { // Output pad bottom = 2
3400 Conv::template process_tile<1, 0, 4, 1, 2, 0>,
3401 Conv::template process_tile<1, 0, 4, 1, 2, 1>,
3402 Conv::template process_tile<1, 0, 4, 1, 2, 2>,
3403 Conv::template process_tile<1, 0, 4, 1, 2, 3>,
3404 }, // Output pad bottom = 2
3405 { // Output pad bottom = 3
3406 Conv::template process_tile<1, 0, 4, 1, 3, 0>,
3407 Conv::template process_tile<1, 0, 4, 1, 3, 1>,
3408 Conv::template process_tile<1, 0, 4, 1, 3, 2>,
3409 Conv::template process_tile<1, 0, 4, 1, 3, 3>,
3410 }, // Output pad bottom = 3
3411 }, // Input pad right = 1
3412 { // Input pad right = 2
3413 { // Output pad bottom = 0
3414 Conv::template process_tile<1, 0, 4, 2, 0, 0>,
3415 Conv::template process_tile<1, 0, 4, 2, 0, 1>,
3416 Conv::template process_tile<1, 0, 4, 2, 0, 2>,
3417 Conv::template process_tile<1, 0, 4, 2, 0, 3>,
3418 }, // Output pad bottom = 0
3419 { // Output pad bottom = 1
3420 Conv::template process_tile<1, 0, 4, 2, 1, 0>,
3421 Conv::template process_tile<1, 0, 4, 2, 1, 1>,
3422 Conv::template process_tile<1, 0, 4, 2, 1, 2>,
3423 Conv::template process_tile<1, 0, 4, 2, 1, 3>,
3424 }, // Output pad bottom = 1
3425 { // Output pad bottom = 2
3426 Conv::template process_tile<1, 0, 4, 2, 2, 0>,
3427 Conv::template process_tile<1, 0, 4, 2, 2, 1>,
3428 Conv::template process_tile<1, 0, 4, 2, 2, 2>,
3429 Conv::template process_tile<1, 0, 4, 2, 2, 3>,
3430 }, // Output pad bottom = 2
3431 { // Output pad bottom = 3
3432 Conv::template process_tile<1, 0, 4, 2, 3, 0>,
3433 Conv::template process_tile<1, 0, 4, 2, 3, 1>,
3434 Conv::template process_tile<1, 0, 4, 2, 3, 2>,
3435 Conv::template process_tile<1, 0, 4, 2, 3, 3>,
3436 }, // Output pad bottom = 3
3437 }, // Input pad right = 2
3438 { // Input pad right = 3
3439 { // Output pad bottom = 0
3440 Conv::template process_tile<1, 0, 4, 3, 0, 0>,
3441 Conv::template process_tile<1, 0, 4, 3, 0, 1>,
3442 Conv::template process_tile<1, 0, 4, 3, 0, 2>,
3443 Conv::template process_tile<1, 0, 4, 3, 0, 3>,
3444 }, // Output pad bottom = 0
3445 { // Output pad bottom = 1
3446 Conv::template process_tile<1, 0, 4, 3, 1, 0>,
3447 Conv::template process_tile<1, 0, 4, 3, 1, 1>,
3448 Conv::template process_tile<1, 0, 4, 3, 1, 2>,
3449 Conv::template process_tile<1, 0, 4, 3, 1, 3>,
3450 }, // Output pad bottom = 1
3451 { // Output pad bottom = 2
3452 Conv::template process_tile<1, 0, 4, 3, 2, 0>,
3453 Conv::template process_tile<1, 0, 4, 3, 2, 1>,
3454 Conv::template process_tile<1, 0, 4, 3, 2, 2>,
3455 Conv::template process_tile<1, 0, 4, 3, 2, 3>,
3456 }, // Output pad bottom = 2
3457 { // Output pad bottom = 3
3458 Conv::template process_tile<1, 0, 4, 3, 3, 0>,
3459 Conv::template process_tile<1, 0, 4, 3, 3, 1>,
3460 Conv::template process_tile<1, 0, 4, 3, 3, 2>,
3461 Conv::template process_tile<1, 0, 4, 3, 3, 3>,
3462 }, // Output pad bottom = 3
3463 }, // Input pad right = 3
3464 { // Input pad right = 4
3465 { // Output pad bottom = 0
3466 Conv::template process_tile<1, 0, 4, 4, 0, 0>,
3467 Conv::template process_tile<1, 0, 4, 4, 0, 1>,
3468 Conv::template process_tile<1, 0, 4, 4, 0, 2>,
3469 Conv::template process_tile<1, 0, 4, 4, 0, 3>,
3470 }, // Output pad bottom = 0
3471 { // Output pad bottom = 1
3472 Conv::template process_tile<1, 0, 4, 4, 1, 0>,
3473 Conv::template process_tile<1, 0, 4, 4, 1, 1>,
3474 Conv::template process_tile<1, 0, 4, 4, 1, 2>,
3475 Conv::template process_tile<1, 0, 4, 4, 1, 3>,
3476 }, // Output pad bottom = 1
3477 { // Output pad bottom = 2
3478 Conv::template process_tile<1, 0, 4, 4, 2, 0>,
3479 Conv::template process_tile<1, 0, 4, 4, 2, 1>,
3480 Conv::template process_tile<1, 0, 4, 4, 2, 2>,
3481 Conv::template process_tile<1, 0, 4, 4, 2, 3>,
3482 }, // Output pad bottom = 2
3483 { // Output pad bottom = 3
3484 Conv::template process_tile<1, 0, 4, 4, 3, 0>,
3485 Conv::template process_tile<1, 0, 4, 4, 3, 1>,
3486 Conv::template process_tile<1, 0, 4, 4, 3, 2>,
3487 Conv::template process_tile<1, 0, 4, 4, 3, 3>,
3488 }, // Output pad bottom = 3
3489 }, // Input pad right = 4
3490 { // Input pad right = 5
3491 { // Output pad bottom = 0
3492 Conv::template process_tile<1, 0, 4, 5, 0, 0>,
3493 Conv::template process_tile<1, 0, 4, 5, 0, 1>,
3494 Conv::template process_tile<1, 0, 4, 5, 0, 2>,
3495 Conv::template process_tile<1, 0, 4, 5, 0, 3>,
3496 }, // Output pad bottom = 0
3497 { // Output pad bottom = 1
3498 Conv::template process_tile<1, 0, 4, 5, 1, 0>,
3499 Conv::template process_tile<1, 0, 4, 5, 1, 1>,
3500 Conv::template process_tile<1, 0, 4, 5, 1, 2>,
3501 Conv::template process_tile<1, 0, 4, 5, 1, 3>,
3502 }, // Output pad bottom = 1
3503 { // Output pad bottom = 2
3504 Conv::template process_tile<1, 0, 4, 5, 2, 0>,
3505 Conv::template process_tile<1, 0, 4, 5, 2, 1>,
3506 Conv::template process_tile<1, 0, 4, 5, 2, 2>,
3507 Conv::template process_tile<1, 0, 4, 5, 2, 3>,
3508 }, // Output pad bottom = 2
3509 { // Output pad bottom = 3
3510 Conv::template process_tile<1, 0, 4, 5, 3, 0>,
3511 Conv::template process_tile<1, 0, 4, 5, 3, 1>,
3512 Conv::template process_tile<1, 0, 4, 5, 3, 2>,
3513 Conv::template process_tile<1, 0, 4, 5, 3, 3>,
3514 }, // Output pad bottom = 3
3515 }, // Input pad right = 5
3516 { // Input pad right = 6
3517 { // Output pad bottom = 0
3518 Conv::template process_tile<1, 0, 4, 6, 0, 0>,
3519 Conv::template process_tile<1, 0, 4, 6, 0, 1>,
3520 Conv::template process_tile<1, 0, 4, 6, 0, 2>,
3521 Conv::template process_tile<1, 0, 4, 6, 0, 3>,
3522 }, // Output pad bottom = 0
3523 { // Output pad bottom = 1
3524 Conv::template process_tile<1, 0, 4, 6, 1, 0>,
3525 Conv::template process_tile<1, 0, 4, 6, 1, 1>,
3526 Conv::template process_tile<1, 0, 4, 6, 1, 2>,
3527 Conv::template process_tile<1, 0, 4, 6, 1, 3>,
3528 }, // Output pad bottom = 1
3529 { // Output pad bottom = 2
3530 Conv::template process_tile<1, 0, 4, 6, 2, 0>,
3531 Conv::template process_tile<1, 0, 4, 6, 2, 1>,
3532 Conv::template process_tile<1, 0, 4, 6, 2, 2>,
3533 Conv::template process_tile<1, 0, 4, 6, 2, 3>,
3534 }, // Output pad bottom = 2
3535 { // Output pad bottom = 3
3536 Conv::template process_tile<1, 0, 4, 6, 3, 0>,
3537 Conv::template process_tile<1, 0, 4, 6, 3, 1>,
3538 Conv::template process_tile<1, 0, 4, 6, 3, 2>,
3539 Conv::template process_tile<1, 0, 4, 6, 3, 3>,
3540 }, // Output pad bottom = 3
3541 }, // Input pad right = 6
3542 }, // Input pad bottom = 4
3543 { // Input pad bottom = 5
3544 { // Input pad right = 0
3545 { // Output pad bottom = 0
3546 Conv::template process_tile<1, 0, 5, 0, 0, 0>,
3547 Conv::template process_tile<1, 0, 5, 0, 0, 1>,
3548 Conv::template process_tile<1, 0, 5, 0, 0, 2>,
3549 Conv::template process_tile<1, 0, 5, 0, 0, 3>,
3550 }, // Output pad bottom = 0
3551 { // Output pad bottom = 1
3552 Conv::template process_tile<1, 0, 5, 0, 1, 0>,
3553 Conv::template process_tile<1, 0, 5, 0, 1, 1>,
3554 Conv::template process_tile<1, 0, 5, 0, 1, 2>,
3555 Conv::template process_tile<1, 0, 5, 0, 1, 3>,
3556 }, // Output pad bottom = 1
3557 { // Output pad bottom = 2
3558 Conv::template process_tile<1, 0, 5, 0, 2, 0>,
3559 Conv::template process_tile<1, 0, 5, 0, 2, 1>,
3560 Conv::template process_tile<1, 0, 5, 0, 2, 2>,
3561 Conv::template process_tile<1, 0, 5, 0, 2, 3>,
3562 }, // Output pad bottom = 2
3563 { // Output pad bottom = 3
3564 Conv::template process_tile<1, 0, 5, 0, 3, 0>,
3565 Conv::template process_tile<1, 0, 5, 0, 3, 1>,
3566 Conv::template process_tile<1, 0, 5, 0, 3, 2>,
3567 Conv::template process_tile<1, 0, 5, 0, 3, 3>,
3568 }, // Output pad bottom = 3
3569 }, // Input pad right = 0
3570 { // Input pad right = 1
3571 { // Output pad bottom = 0
3572 Conv::template process_tile<1, 0, 5, 1, 0, 0>,
3573 Conv::template process_tile<1, 0, 5, 1, 0, 1>,
3574 Conv::template process_tile<1, 0, 5, 1, 0, 2>,
3575 Conv::template process_tile<1, 0, 5, 1, 0, 3>,
3576 }, // Output pad bottom = 0
3577 { // Output pad bottom = 1
3578 Conv::template process_tile<1, 0, 5, 1, 1, 0>,
3579 Conv::template process_tile<1, 0, 5, 1, 1, 1>,
3580 Conv::template process_tile<1, 0, 5, 1, 1, 2>,
3581 Conv::template process_tile<1, 0, 5, 1, 1, 3>,
3582 }, // Output pad bottom = 1
3583 { // Output pad bottom = 2
3584 Conv::template process_tile<1, 0, 5, 1, 2, 0>,
3585 Conv::template process_tile<1, 0, 5, 1, 2, 1>,
3586 Conv::template process_tile<1, 0, 5, 1, 2, 2>,
3587 Conv::template process_tile<1, 0, 5, 1, 2, 3>,
3588 }, // Output pad bottom = 2
3589 { // Output pad bottom = 3
3590 Conv::template process_tile<1, 0, 5, 1, 3, 0>,
3591 Conv::template process_tile<1, 0, 5, 1, 3, 1>,
3592 Conv::template process_tile<1, 0, 5, 1, 3, 2>,
3593 Conv::template process_tile<1, 0, 5, 1, 3, 3>,
3594 }, // Output pad bottom = 3
3595 }, // Input pad right = 1
3596 { // Input pad right = 2
3597 { // Output pad bottom = 0
3598 Conv::template process_tile<1, 0, 5, 2, 0, 0>,
3599 Conv::template process_tile<1, 0, 5, 2, 0, 1>,
3600 Conv::template process_tile<1, 0, 5, 2, 0, 2>,
3601 Conv::template process_tile<1, 0, 5, 2, 0, 3>,
3602 }, // Output pad bottom = 0
3603 { // Output pad bottom = 1
3604 Conv::template process_tile<1, 0, 5, 2, 1, 0>,
3605 Conv::template process_tile<1, 0, 5, 2, 1, 1>,
3606 Conv::template process_tile<1, 0, 5, 2, 1, 2>,
3607 Conv::template process_tile<1, 0, 5, 2, 1, 3>,
3608 }, // Output pad bottom = 1
3609 { // Output pad bottom = 2
3610 Conv::template process_tile<1, 0, 5, 2, 2, 0>,
3611 Conv::template process_tile<1, 0, 5, 2, 2, 1>,
3612 Conv::template process_tile<1, 0, 5, 2, 2, 2>,
3613 Conv::template process_tile<1, 0, 5, 2, 2, 3>,
3614 }, // Output pad bottom = 2
3615 { // Output pad bottom = 3
3616 Conv::template process_tile<1, 0, 5, 2, 3, 0>,
3617 Conv::template process_tile<1, 0, 5, 2, 3, 1>,
3618 Conv::template process_tile<1, 0, 5, 2, 3, 2>,
3619 Conv::template process_tile<1, 0, 5, 2, 3, 3>,
3620 }, // Output pad bottom = 3
3621 }, // Input pad right = 2
3622 { // Input pad right = 3
3623 { // Output pad bottom = 0
3624 Conv::template process_tile<1, 0, 5, 3, 0, 0>,
3625 Conv::template process_tile<1, 0, 5, 3, 0, 1>,
3626 Conv::template process_tile<1, 0, 5, 3, 0, 2>,
3627 Conv::template process_tile<1, 0, 5, 3, 0, 3>,
3628 }, // Output pad bottom = 0
3629 { // Output pad bottom = 1
3630 Conv::template process_tile<1, 0, 5, 3, 1, 0>,
3631 Conv::template process_tile<1, 0, 5, 3, 1, 1>,
3632 Conv::template process_tile<1, 0, 5, 3, 1, 2>,
3633 Conv::template process_tile<1, 0, 5, 3, 1, 3>,
3634 }, // Output pad bottom = 1
3635 { // Output pad bottom = 2
3636 Conv::template process_tile<1, 0, 5, 3, 2, 0>,
3637 Conv::template process_tile<1, 0, 5, 3, 2, 1>,
3638 Conv::template process_tile<1, 0, 5, 3, 2, 2>,
3639 Conv::template process_tile<1, 0, 5, 3, 2, 3>,
3640 }, // Output pad bottom = 2
3641 { // Output pad bottom = 3
3642 Conv::template process_tile<1, 0, 5, 3, 3, 0>,
3643 Conv::template process_tile<1, 0, 5, 3, 3, 1>,
3644 Conv::template process_tile<1, 0, 5, 3, 3, 2>,
3645 Conv::template process_tile<1, 0, 5, 3, 3, 3>,
3646 }, // Output pad bottom = 3
3647 }, // Input pad right = 3
3648 { // Input pad right = 4
3649 { // Output pad bottom = 0
3650 Conv::template process_tile<1, 0, 5, 4, 0, 0>,
3651 Conv::template process_tile<1, 0, 5, 4, 0, 1>,
3652 Conv::template process_tile<1, 0, 5, 4, 0, 2>,
3653 Conv::template process_tile<1, 0, 5, 4, 0, 3>,
3654 }, // Output pad bottom = 0
3655 { // Output pad bottom = 1
3656 Conv::template process_tile<1, 0, 5, 4, 1, 0>,
3657 Conv::template process_tile<1, 0, 5, 4, 1, 1>,
3658 Conv::template process_tile<1, 0, 5, 4, 1, 2>,
3659 Conv::template process_tile<1, 0, 5, 4, 1, 3>,
3660 }, // Output pad bottom = 1
3661 { // Output pad bottom = 2
3662 Conv::template process_tile<1, 0, 5, 4, 2, 0>,
3663 Conv::template process_tile<1, 0, 5, 4, 2, 1>,
3664 Conv::template process_tile<1, 0, 5, 4, 2, 2>,
3665 Conv::template process_tile<1, 0, 5, 4, 2, 3>,
3666 }, // Output pad bottom = 2
3667 { // Output pad bottom = 3
3668 Conv::template process_tile<1, 0, 5, 4, 3, 0>,
3669 Conv::template process_tile<1, 0, 5, 4, 3, 1>,
3670 Conv::template process_tile<1, 0, 5, 4, 3, 2>,
3671 Conv::template process_tile<1, 0, 5, 4, 3, 3>,
3672 }, // Output pad bottom = 3
3673 }, // Input pad right = 4
3674 { // Input pad right = 5
3675 { // Output pad bottom = 0
3676 Conv::template process_tile<1, 0, 5, 5, 0, 0>,
3677 Conv::template process_tile<1, 0, 5, 5, 0, 1>,
3678 Conv::template process_tile<1, 0, 5, 5, 0, 2>,
3679 Conv::template process_tile<1, 0, 5, 5, 0, 3>,
3680 }, // Output pad bottom = 0
3681 { // Output pad bottom = 1
3682 Conv::template process_tile<1, 0, 5, 5, 1, 0>,
3683 Conv::template process_tile<1, 0, 5, 5, 1, 1>,
3684 Conv::template process_tile<1, 0, 5, 5, 1, 2>,
3685 Conv::template process_tile<1, 0, 5, 5, 1, 3>,
3686 }, // Output pad bottom = 1
3687 { // Output pad bottom = 2
3688 Conv::template process_tile<1, 0, 5, 5, 2, 0>,
3689 Conv::template process_tile<1, 0, 5, 5, 2, 1>,
3690 Conv::template process_tile<1, 0, 5, 5, 2, 2>,
3691 Conv::template process_tile<1, 0, 5, 5, 2, 3>,
3692 }, // Output pad bottom = 2
3693 { // Output pad bottom = 3
3694 Conv::template process_tile<1, 0, 5, 5, 3, 0>,
3695 Conv::template process_tile<1, 0, 5, 5, 3, 1>,
3696 Conv::template process_tile<1, 0, 5, 5, 3, 2>,
3697 Conv::template process_tile<1, 0, 5, 5, 3, 3>,
3698 }, // Output pad bottom = 3
3699 }, // Input pad right = 5
3700 { // Input pad right = 6
3701 { // Output pad bottom = 0
3702 Conv::template process_tile<1, 0, 5, 6, 0, 0>,
3703 Conv::template process_tile<1, 0, 5, 6, 0, 1>,
3704 Conv::template process_tile<1, 0, 5, 6, 0, 2>,
3705 Conv::template process_tile<1, 0, 5, 6, 0, 3>,
3706 }, // Output pad bottom = 0
3707 { // Output pad bottom = 1
3708 Conv::template process_tile<1, 0, 5, 6, 1, 0>,
3709 Conv::template process_tile<1, 0, 5, 6, 1, 1>,
3710 Conv::template process_tile<1, 0, 5, 6, 1, 2>,
3711 Conv::template process_tile<1, 0, 5, 6, 1, 3>,
3712 }, // Output pad bottom = 1
3713 { // Output pad bottom = 2
3714 Conv::template process_tile<1, 0, 5, 6, 2, 0>,
3715 Conv::template process_tile<1, 0, 5, 6, 2, 1>,
3716 Conv::template process_tile<1, 0, 5, 6, 2, 2>,
3717 Conv::template process_tile<1, 0, 5, 6, 2, 3>,
3718 }, // Output pad bottom = 2
3719 { // Output pad bottom = 3
3720 Conv::template process_tile<1, 0, 5, 6, 3, 0>,
3721 Conv::template process_tile<1, 0, 5, 6, 3, 1>,
3722 Conv::template process_tile<1, 0, 5, 6, 3, 2>,
3723 Conv::template process_tile<1, 0, 5, 6, 3, 3>,
3724 }, // Output pad bottom = 3
3725 }, // Input pad right = 6
3726 }, // Input pad bottom = 5
3727 { // Input pad bottom = 6
3728 { // Input pad right = 0
3729 { // Output pad bottom = 0
3730 Conv::template process_tile<1, 0, 6, 0, 0, 0>,
3731 Conv::template process_tile<1, 0, 6, 0, 0, 1>,
3732 Conv::template process_tile<1, 0, 6, 0, 0, 2>,
3733 Conv::template process_tile<1, 0, 6, 0, 0, 3>,
3734 }, // Output pad bottom = 0
3735 { // Output pad bottom = 1
3736 Conv::template process_tile<1, 0, 6, 0, 1, 0>,
3737 Conv::template process_tile<1, 0, 6, 0, 1, 1>,
3738 Conv::template process_tile<1, 0, 6, 0, 1, 2>,
3739 Conv::template process_tile<1, 0, 6, 0, 1, 3>,
3740 }, // Output pad bottom = 1
3741 { // Output pad bottom = 2
3742 Conv::template process_tile<1, 0, 6, 0, 2, 0>,
3743 Conv::template process_tile<1, 0, 6, 0, 2, 1>,
3744 Conv::template process_tile<1, 0, 6, 0, 2, 2>,
3745 Conv::template process_tile<1, 0, 6, 0, 2, 3>,
3746 }, // Output pad bottom = 2
3747 { // Output pad bottom = 3
3748 Conv::template process_tile<1, 0, 6, 0, 3, 0>,
3749 Conv::template process_tile<1, 0, 6, 0, 3, 1>,
3750 Conv::template process_tile<1, 0, 6, 0, 3, 2>,
3751 Conv::template process_tile<1, 0, 6, 0, 3, 3>,
3752 }, // Output pad bottom = 3
3753 }, // Input pad right = 0
3754 { // Input pad right = 1
3755 { // Output pad bottom = 0
3756 Conv::template process_tile<1, 0, 6, 1, 0, 0>,
3757 Conv::template process_tile<1, 0, 6, 1, 0, 1>,
3758 Conv::template process_tile<1, 0, 6, 1, 0, 2>,
3759 Conv::template process_tile<1, 0, 6, 1, 0, 3>,
3760 }, // Output pad bottom = 0
3761 { // Output pad bottom = 1
3762 Conv::template process_tile<1, 0, 6, 1, 1, 0>,
3763 Conv::template process_tile<1, 0, 6, 1, 1, 1>,
3764 Conv::template process_tile<1, 0, 6, 1, 1, 2>,
3765 Conv::template process_tile<1, 0, 6, 1, 1, 3>,
3766 }, // Output pad bottom = 1
3767 { // Output pad bottom = 2
3768 Conv::template process_tile<1, 0, 6, 1, 2, 0>,
3769 Conv::template process_tile<1, 0, 6, 1, 2, 1>,
3770 Conv::template process_tile<1, 0, 6, 1, 2, 2>,
3771 Conv::template process_tile<1, 0, 6, 1, 2, 3>,
3772 }, // Output pad bottom = 2
3773 { // Output pad bottom = 3
3774 Conv::template process_tile<1, 0, 6, 1, 3, 0>,
3775 Conv::template process_tile<1, 0, 6, 1, 3, 1>,
3776 Conv::template process_tile<1, 0, 6, 1, 3, 2>,
3777 Conv::template process_tile<1, 0, 6, 1, 3, 3>,
3778 }, // Output pad bottom = 3
3779 }, // Input pad right = 1
3780 { // Input pad right = 2
3781 { // Output pad bottom = 0
3782 Conv::template process_tile<1, 0, 6, 2, 0, 0>,
3783 Conv::template process_tile<1, 0, 6, 2, 0, 1>,
3784 Conv::template process_tile<1, 0, 6, 2, 0, 2>,
3785 Conv::template process_tile<1, 0, 6, 2, 0, 3>,
3786 }, // Output pad bottom = 0
3787 { // Output pad bottom = 1
3788 Conv::template process_tile<1, 0, 6, 2, 1, 0>,
3789 Conv::template process_tile<1, 0, 6, 2, 1, 1>,
3790 Conv::template process_tile<1, 0, 6, 2, 1, 2>,
3791 Conv::template process_tile<1, 0, 6, 2, 1, 3>,
3792 }, // Output pad bottom = 1
3793 { // Output pad bottom = 2
3794 Conv::template process_tile<1, 0, 6, 2, 2, 0>,
3795 Conv::template process_tile<1, 0, 6, 2, 2, 1>,
3796 Conv::template process_tile<1, 0, 6, 2, 2, 2>,
3797 Conv::template process_tile<1, 0, 6, 2, 2, 3>,
3798 }, // Output pad bottom = 2
3799 { // Output pad bottom = 3
3800 Conv::template process_tile<1, 0, 6, 2, 3, 0>,
3801 Conv::template process_tile<1, 0, 6, 2, 3, 1>,
3802 Conv::template process_tile<1, 0, 6, 2, 3, 2>,
3803 Conv::template process_tile<1, 0, 6, 2, 3, 3>,
3804 }, // Output pad bottom = 3
3805 }, // Input pad right = 2
3806 { // Input pad right = 3
3807 { // Output pad bottom = 0
3808 Conv::template process_tile<1, 0, 6, 3, 0, 0>,
3809 Conv::template process_tile<1, 0, 6, 3, 0, 1>,
3810 Conv::template process_tile<1, 0, 6, 3, 0, 2>,
3811 Conv::template process_tile<1, 0, 6, 3, 0, 3>,
3812 }, // Output pad bottom = 0
3813 { // Output pad bottom = 1
3814 Conv::template process_tile<1, 0, 6, 3, 1, 0>,
3815 Conv::template process_tile<1, 0, 6, 3, 1, 1>,
3816 Conv::template process_tile<1, 0, 6, 3, 1, 2>,
3817 Conv::template process_tile<1, 0, 6, 3, 1, 3>,
3818 }, // Output pad bottom = 1
3819 { // Output pad bottom = 2
3820 Conv::template process_tile<1, 0, 6, 3, 2, 0>,
3821 Conv::template process_tile<1, 0, 6, 3, 2, 1>,
3822 Conv::template process_tile<1, 0, 6, 3, 2, 2>,
3823 Conv::template process_tile<1, 0, 6, 3, 2, 3>,
3824 }, // Output pad bottom = 2
3825 { // Output pad bottom = 3
3826 Conv::template process_tile<1, 0, 6, 3, 3, 0>,
3827 Conv::template process_tile<1, 0, 6, 3, 3, 1>,
3828 Conv::template process_tile<1, 0, 6, 3, 3, 2>,
3829 Conv::template process_tile<1, 0, 6, 3, 3, 3>,
3830 }, // Output pad bottom = 3
3831 }, // Input pad right = 3
3832 { // Input pad right = 4
3833 { // Output pad bottom = 0
3834 Conv::template process_tile<1, 0, 6, 4, 0, 0>,
3835 Conv::template process_tile<1, 0, 6, 4, 0, 1>,
3836 Conv::template process_tile<1, 0, 6, 4, 0, 2>,
3837 Conv::template process_tile<1, 0, 6, 4, 0, 3>,
3838 }, // Output pad bottom = 0
3839 { // Output pad bottom = 1
3840 Conv::template process_tile<1, 0, 6, 4, 1, 0>,
3841 Conv::template process_tile<1, 0, 6, 4, 1, 1>,
3842 Conv::template process_tile<1, 0, 6, 4, 1, 2>,
3843 Conv::template process_tile<1, 0, 6, 4, 1, 3>,
3844 }, // Output pad bottom = 1
3845 { // Output pad bottom = 2
3846 Conv::template process_tile<1, 0, 6, 4, 2, 0>,
3847 Conv::template process_tile<1, 0, 6, 4, 2, 1>,
3848 Conv::template process_tile<1, 0, 6, 4, 2, 2>,
3849 Conv::template process_tile<1, 0, 6, 4, 2, 3>,
3850 }, // Output pad bottom = 2
3851 { // Output pad bottom = 3
3852 Conv::template process_tile<1, 0, 6, 4, 3, 0>,
3853 Conv::template process_tile<1, 0, 6, 4, 3, 1>,
3854 Conv::template process_tile<1, 0, 6, 4, 3, 2>,
3855 Conv::template process_tile<1, 0, 6, 4, 3, 3>,
3856 }, // Output pad bottom = 3
3857 }, // Input pad right = 4
3858 { // Input pad right = 5
3859 { // Output pad bottom = 0
3860 Conv::template process_tile<1, 0, 6, 5, 0, 0>,
3861 Conv::template process_tile<1, 0, 6, 5, 0, 1>,
3862 Conv::template process_tile<1, 0, 6, 5, 0, 2>,
3863 Conv::template process_tile<1, 0, 6, 5, 0, 3>,
3864 }, // Output pad bottom = 0
3865 { // Output pad bottom = 1
3866 Conv::template process_tile<1, 0, 6, 5, 1, 0>,
3867 Conv::template process_tile<1, 0, 6, 5, 1, 1>,
3868 Conv::template process_tile<1, 0, 6, 5, 1, 2>,
3869 Conv::template process_tile<1, 0, 6, 5, 1, 3>,
3870 }, // Output pad bottom = 1
3871 { // Output pad bottom = 2
3872 Conv::template process_tile<1, 0, 6, 5, 2, 0>,
3873 Conv::template process_tile<1, 0, 6, 5, 2, 1>,
3874 Conv::template process_tile<1, 0, 6, 5, 2, 2>,
3875 Conv::template process_tile<1, 0, 6, 5, 2, 3>,
3876 }, // Output pad bottom = 2
3877 { // Output pad bottom = 3
3878 Conv::template process_tile<1, 0, 6, 5, 3, 0>,
3879 Conv::template process_tile<1, 0, 6, 5, 3, 1>,
3880 Conv::template process_tile<1, 0, 6, 5, 3, 2>,
3881 Conv::template process_tile<1, 0, 6, 5, 3, 3>,
3882 }, // Output pad bottom = 3
3883 }, // Input pad right = 5
3884 { // Input pad right = 6
3885 { // Output pad bottom = 0
3886 Conv::template process_tile<1, 0, 6, 6, 0, 0>,
3887 Conv::template process_tile<1, 0, 6, 6, 0, 1>,
3888 Conv::template process_tile<1, 0, 6, 6, 0, 2>,
3889 Conv::template process_tile<1, 0, 6, 6, 0, 3>,
3890 }, // Output pad bottom = 0
3891 { // Output pad bottom = 1
3892 Conv::template process_tile<1, 0, 6, 6, 1, 0>,
3893 Conv::template process_tile<1, 0, 6, 6, 1, 1>,
3894 Conv::template process_tile<1, 0, 6, 6, 1, 2>,
3895 Conv::template process_tile<1, 0, 6, 6, 1, 3>,
3896 }, // Output pad bottom = 1
3897 { // Output pad bottom = 2
3898 Conv::template process_tile<1, 0, 6, 6, 2, 0>,
3899 Conv::template process_tile<1, 0, 6, 6, 2, 1>,
3900 Conv::template process_tile<1, 0, 6, 6, 2, 2>,
3901 Conv::template process_tile<1, 0, 6, 6, 2, 3>,
3902 }, // Output pad bottom = 2
3903 { // Output pad bottom = 3
3904 Conv::template process_tile<1, 0, 6, 6, 3, 0>,
3905 Conv::template process_tile<1, 0, 6, 6, 3, 1>,
3906 Conv::template process_tile<1, 0, 6, 6, 3, 2>,
3907 Conv::template process_tile<1, 0, 6, 6, 3, 3>,
3908 }, // Output pad bottom = 3
3909 }, // Input pad right = 6
3910 }, // Input pad bottom = 6
3911 }, // Input pad left = 0
3912 { // Input pad left = 1
3913 { // Input pad bottom = 0
3914 { // Input pad right = 0
3915 { // Output pad bottom = 0
3916 Conv::template process_tile<1, 1, 0, 0, 0, 0>,
3917 Conv::template process_tile<1, 1, 0, 0, 0, 1>,
3918 Conv::template process_tile<1, 1, 0, 0, 0, 2>,
3919 Conv::template process_tile<1, 1, 0, 0, 0, 3>,
3920 }, // Output pad bottom = 0
3921 { // Output pad bottom = 1
3922 Conv::template process_tile<1, 1, 0, 0, 1, 0>,
3923 Conv::template process_tile<1, 1, 0, 0, 1, 1>,
3924 Conv::template process_tile<1, 1, 0, 0, 1, 2>,
3925 Conv::template process_tile<1, 1, 0, 0, 1, 3>,
3926 }, // Output pad bottom = 1
3927 { // Output pad bottom = 2
3928 Conv::template process_tile<1, 1, 0, 0, 2, 0>,
3929 Conv::template process_tile<1, 1, 0, 0, 2, 1>,
3930 Conv::template process_tile<1, 1, 0, 0, 2, 2>,
3931 Conv::template process_tile<1, 1, 0, 0, 2, 3>,
3932 }, // Output pad bottom = 2
3933 { // Output pad bottom = 3
3934 Conv::template process_tile<1, 1, 0, 0, 3, 0>,
3935 Conv::template process_tile<1, 1, 0, 0, 3, 1>,
3936 Conv::template process_tile<1, 1, 0, 0, 3, 2>,
3937 Conv::template process_tile<1, 1, 0, 0, 3, 3>,
3938 }, // Output pad bottom = 3
3939 }, // Input pad right = 0
3940 { // Input pad right = 1
3941 { // Output pad bottom = 0
3942 Conv::template process_tile<1, 1, 0, 1, 0, 0>,
3943 Conv::template process_tile<1, 1, 0, 1, 0, 1>,
3944 Conv::template process_tile<1, 1, 0, 1, 0, 2>,
3945 Conv::template process_tile<1, 1, 0, 1, 0, 3>,
3946 }, // Output pad bottom = 0
3947 { // Output pad bottom = 1
3948 Conv::template process_tile<1, 1, 0, 1, 1, 0>,
3949 Conv::template process_tile<1, 1, 0, 1, 1, 1>,
3950 Conv::template process_tile<1, 1, 0, 1, 1, 2>,
3951 Conv::template process_tile<1, 1, 0, 1, 1, 3>,
3952 }, // Output pad bottom = 1
3953 { // Output pad bottom = 2
3954 Conv::template process_tile<1, 1, 0, 1, 2, 0>,
3955 Conv::template process_tile<1, 1, 0, 1, 2, 1>,
3956 Conv::template process_tile<1, 1, 0, 1, 2, 2>,
3957 Conv::template process_tile<1, 1, 0, 1, 2, 3>,
3958 }, // Output pad bottom = 2
3959 { // Output pad bottom = 3
3960 Conv::template process_tile<1, 1, 0, 1, 3, 0>,
3961 Conv::template process_tile<1, 1, 0, 1, 3, 1>,
3962 Conv::template process_tile<1, 1, 0, 1, 3, 2>,
3963 Conv::template process_tile<1, 1, 0, 1, 3, 3>,
3964 }, // Output pad bottom = 3
3965 }, // Input pad right = 1
3966 { // Input pad right = 2
3967 { // Output pad bottom = 0
3968 Conv::template process_tile<1, 1, 0, 2, 0, 0>,
3969 Conv::template process_tile<1, 1, 0, 2, 0, 1>,
3970 Conv::template process_tile<1, 1, 0, 2, 0, 2>,
3971 Conv::template process_tile<1, 1, 0, 2, 0, 3>,
3972 }, // Output pad bottom = 0
3973 { // Output pad bottom = 1
3974 Conv::template process_tile<1, 1, 0, 2, 1, 0>,
3975 Conv::template process_tile<1, 1, 0, 2, 1, 1>,
3976 Conv::template process_tile<1, 1, 0, 2, 1, 2>,
3977 Conv::template process_tile<1, 1, 0, 2, 1, 3>,
3978 }, // Output pad bottom = 1
3979 { // Output pad bottom = 2
3980 Conv::template process_tile<1, 1, 0, 2, 2, 0>,
3981 Conv::template process_tile<1, 1, 0, 2, 2, 1>,
3982 Conv::template process_tile<1, 1, 0, 2, 2, 2>,
3983 Conv::template process_tile<1, 1, 0, 2, 2, 3>,
3984 }, // Output pad bottom = 2
3985 { // Output pad bottom = 3
3986 Conv::template process_tile<1, 1, 0, 2, 3, 0>,
3987 Conv::template process_tile<1, 1, 0, 2, 3, 1>,
3988 Conv::template process_tile<1, 1, 0, 2, 3, 2>,
3989 Conv::template process_tile<1, 1, 0, 2, 3, 3>,
3990 }, // Output pad bottom = 3
3991 }, // Input pad right = 2
3992 { // Input pad right = 3
3993 { // Output pad bottom = 0
3994 Conv::template process_tile<1, 1, 0, 3, 0, 0>,
3995 Conv::template process_tile<1, 1, 0, 3, 0, 1>,
3996 Conv::template process_tile<1, 1, 0, 3, 0, 2>,
3997 Conv::template process_tile<1, 1, 0, 3, 0, 3>,
3998 }, // Output pad bottom = 0
3999 { // Output pad bottom = 1
4000 Conv::template process_tile<1, 1, 0, 3, 1, 0>,
4001 Conv::template process_tile<1, 1, 0, 3, 1, 1>,
4002 Conv::template process_tile<1, 1, 0, 3, 1, 2>,
4003 Conv::template process_tile<1, 1, 0, 3, 1, 3>,
4004 }, // Output pad bottom = 1
4005 { // Output pad bottom = 2
4006 Conv::template process_tile<1, 1, 0, 3, 2, 0>,
4007 Conv::template process_tile<1, 1, 0, 3, 2, 1>,
4008 Conv::template process_tile<1, 1, 0, 3, 2, 2>,
4009 Conv::template process_tile<1, 1, 0, 3, 2, 3>,
4010 }, // Output pad bottom = 2
4011 { // Output pad bottom = 3
4012 Conv::template process_tile<1, 1, 0, 3, 3, 0>,
4013 Conv::template process_tile<1, 1, 0, 3, 3, 1>,
4014 Conv::template process_tile<1, 1, 0, 3, 3, 2>,
4015 Conv::template process_tile<1, 1, 0, 3, 3, 3>,
4016 }, // Output pad bottom = 3
4017 }, // Input pad right = 3
4018 { // Input pad right = 4
4019 { // Output pad bottom = 0
4020 Conv::template process_tile<1, 1, 0, 4, 0, 0>,
4021 Conv::template process_tile<1, 1, 0, 4, 0, 1>,
4022 Conv::template process_tile<1, 1, 0, 4, 0, 2>,
4023 Conv::template process_tile<1, 1, 0, 4, 0, 3>,
4024 }, // Output pad bottom = 0
4025 { // Output pad bottom = 1
4026 Conv::template process_tile<1, 1, 0, 4, 1, 0>,
4027 Conv::template process_tile<1, 1, 0, 4, 1, 1>,
4028 Conv::template process_tile<1, 1, 0, 4, 1, 2>,
4029 Conv::template process_tile<1, 1, 0, 4, 1, 3>,
4030 }, // Output pad bottom = 1
4031 { // Output pad bottom = 2
4032 Conv::template process_tile<1, 1, 0, 4, 2, 0>,
4033 Conv::template process_tile<1, 1, 0, 4, 2, 1>,
4034 Conv::template process_tile<1, 1, 0, 4, 2, 2>,
4035 Conv::template process_tile<1, 1, 0, 4, 2, 3>,
4036 }, // Output pad bottom = 2
4037 { // Output pad bottom = 3
4038 Conv::template process_tile<1, 1, 0, 4, 3, 0>,
4039 Conv::template process_tile<1, 1, 0, 4, 3, 1>,
4040 Conv::template process_tile<1, 1, 0, 4, 3, 2>,
4041 Conv::template process_tile<1, 1, 0, 4, 3, 3>,
4042 }, // Output pad bottom = 3
4043 }, // Input pad right = 4
4044 { // Input pad right = 5
4045 { // Output pad bottom = 0
4046 Conv::template process_tile<1, 1, 0, 5, 0, 0>,
4047 Conv::template process_tile<1, 1, 0, 5, 0, 1>,
4048 Conv::template process_tile<1, 1, 0, 5, 0, 2>,
4049 Conv::template process_tile<1, 1, 0, 5, 0, 3>,
4050 }, // Output pad bottom = 0
4051 { // Output pad bottom = 1
4052 Conv::template process_tile<1, 1, 0, 5, 1, 0>,
4053 Conv::template process_tile<1, 1, 0, 5, 1, 1>,
4054 Conv::template process_tile<1, 1, 0, 5, 1, 2>,
4055 Conv::template process_tile<1, 1, 0, 5, 1, 3>,
4056 }, // Output pad bottom = 1
4057 { // Output pad bottom = 2
4058 Conv::template process_tile<1, 1, 0, 5, 2, 0>,
4059 Conv::template process_tile<1, 1, 0, 5, 2, 1>,
4060 Conv::template process_tile<1, 1, 0, 5, 2, 2>,
4061 Conv::template process_tile<1, 1, 0, 5, 2, 3>,
4062 }, // Output pad bottom = 2
4063 { // Output pad bottom = 3
4064 Conv::template process_tile<1, 1, 0, 5, 3, 0>,
4065 Conv::template process_tile<1, 1, 0, 5, 3, 1>,
4066 Conv::template process_tile<1, 1, 0, 5, 3, 2>,
4067 Conv::template process_tile<1, 1, 0, 5, 3, 3>,
4068 }, // Output pad bottom = 3
4069 }, // Input pad right = 5
4070 { // Input pad right = 6
4071 { // Output pad bottom = 0
4072 Conv::template process_tile<1, 1, 0, 6, 0, 0>,
4073 Conv::template process_tile<1, 1, 0, 6, 0, 1>,
4074 Conv::template process_tile<1, 1, 0, 6, 0, 2>,
4075 Conv::template process_tile<1, 1, 0, 6, 0, 3>,
4076 }, // Output pad bottom = 0
4077 { // Output pad bottom = 1
4078 Conv::template process_tile<1, 1, 0, 6, 1, 0>,
4079 Conv::template process_tile<1, 1, 0, 6, 1, 1>,
4080 Conv::template process_tile<1, 1, 0, 6, 1, 2>,
4081 Conv::template process_tile<1, 1, 0, 6, 1, 3>,
4082 }, // Output pad bottom = 1
4083 { // Output pad bottom = 2
4084 Conv::template process_tile<1, 1, 0, 6, 2, 0>,
4085 Conv::template process_tile<1, 1, 0, 6, 2, 1>,
4086 Conv::template process_tile<1, 1, 0, 6, 2, 2>,
4087 Conv::template process_tile<1, 1, 0, 6, 2, 3>,
4088 }, // Output pad bottom = 2
4089 { // Output pad bottom = 3
4090 Conv::template process_tile<1, 1, 0, 6, 3, 0>,
4091 Conv::template process_tile<1, 1, 0, 6, 3, 1>,
4092 Conv::template process_tile<1, 1, 0, 6, 3, 2>,
4093 Conv::template process_tile<1, 1, 0, 6, 3, 3>,
4094 }, // Output pad bottom = 3
4095 }, // Input pad right = 6
4096 }, // Input pad bottom = 0
4097 { // Input pad bottom = 1
4098 { // Input pad right = 0
4099 { // Output pad bottom = 0
4100 Conv::template process_tile<1, 1, 1, 0, 0, 0>,
4101 Conv::template process_tile<1, 1, 1, 0, 0, 1>,
4102 Conv::template process_tile<1, 1, 1, 0, 0, 2>,
4103 Conv::template process_tile<1, 1, 1, 0, 0, 3>,
4104 }, // Output pad bottom = 0
4105 { // Output pad bottom = 1
4106 Conv::template process_tile<1, 1, 1, 0, 1, 0>,
4107 Conv::template process_tile<1, 1, 1, 0, 1, 1>,
4108 Conv::template process_tile<1, 1, 1, 0, 1, 2>,
4109 Conv::template process_tile<1, 1, 1, 0, 1, 3>,
4110 }, // Output pad bottom = 1
4111 { // Output pad bottom = 2
4112 Conv::template process_tile<1, 1, 1, 0, 2, 0>,
4113 Conv::template process_tile<1, 1, 1, 0, 2, 1>,
4114 Conv::template process_tile<1, 1, 1, 0, 2, 2>,
4115 Conv::template process_tile<1, 1, 1, 0, 2, 3>,
4116 }, // Output pad bottom = 2
4117 { // Output pad bottom = 3
4118 Conv::template process_tile<1, 1, 1, 0, 3, 0>,
4119 Conv::template process_tile<1, 1, 1, 0, 3, 1>,
4120 Conv::template process_tile<1, 1, 1, 0, 3, 2>,
4121 Conv::template process_tile<1, 1, 1, 0, 3, 3>,
4122 }, // Output pad bottom = 3
4123 }, // Input pad right = 0
4124 { // Input pad right = 1
4125 { // Output pad bottom = 0
4126 Conv::template process_tile<1, 1, 1, 1, 0, 0>,
4127 Conv::template process_tile<1, 1, 1, 1, 0, 1>,
4128 Conv::template process_tile<1, 1, 1, 1, 0, 2>,
4129 Conv::template process_tile<1, 1, 1, 1, 0, 3>,
4130 }, // Output pad bottom = 0
4131 { // Output pad bottom = 1
4132 Conv::template process_tile<1, 1, 1, 1, 1, 0>,
4133 Conv::template process_tile<1, 1, 1, 1, 1, 1>,
4134 Conv::template process_tile<1, 1, 1, 1, 1, 2>,
4135 Conv::template process_tile<1, 1, 1, 1, 1, 3>,
4136 }, // Output pad bottom = 1
4137 { // Output pad bottom = 2
4138 Conv::template process_tile<1, 1, 1, 1, 2, 0>,
4139 Conv::template process_tile<1, 1, 1, 1, 2, 1>,
4140 Conv::template process_tile<1, 1, 1, 1, 2, 2>,
4141 Conv::template process_tile<1, 1, 1, 1, 2, 3>,
4142 }, // Output pad bottom = 2
4143 { // Output pad bottom = 3
4144 Conv::template process_tile<1, 1, 1, 1, 3, 0>,
4145 Conv::template process_tile<1, 1, 1, 1, 3, 1>,
4146 Conv::template process_tile<1, 1, 1, 1, 3, 2>,
4147 Conv::template process_tile<1, 1, 1, 1, 3, 3>,
4148 }, // Output pad bottom = 3
4149 }, // Input pad right = 1
4150 { // Input pad right = 2
4151 { // Output pad bottom = 0
4152 Conv::template process_tile<1, 1, 1, 2, 0, 0>,
4153 Conv::template process_tile<1, 1, 1, 2, 0, 1>,
4154 Conv::template process_tile<1, 1, 1, 2, 0, 2>,
4155 Conv::template process_tile<1, 1, 1, 2, 0, 3>,
4156 }, // Output pad bottom = 0
4157 { // Output pad bottom = 1
4158 Conv::template process_tile<1, 1, 1, 2, 1, 0>,
4159 Conv::template process_tile<1, 1, 1, 2, 1, 1>,
4160 Conv::template process_tile<1, 1, 1, 2, 1, 2>,
4161 Conv::template process_tile<1, 1, 1, 2, 1, 3>,
4162 }, // Output pad bottom = 1
4163 { // Output pad bottom = 2
4164 Conv::template process_tile<1, 1, 1, 2, 2, 0>,
4165 Conv::template process_tile<1, 1, 1, 2, 2, 1>,
4166 Conv::template process_tile<1, 1, 1, 2, 2, 2>,
4167 Conv::template process_tile<1, 1, 1, 2, 2, 3>,
4168 }, // Output pad bottom = 2
4169 { // Output pad bottom = 3
4170 Conv::template process_tile<1, 1, 1, 2, 3, 0>,
4171 Conv::template process_tile<1, 1, 1, 2, 3, 1>,
4172 Conv::template process_tile<1, 1, 1, 2, 3, 2>,
4173 Conv::template process_tile<1, 1, 1, 2, 3, 3>,
4174 }, // Output pad bottom = 3
4175 }, // Input pad right = 2
4176 { // Input pad right = 3
4177 { // Output pad bottom = 0
4178 Conv::template process_tile<1, 1, 1, 3, 0, 0>,
4179 Conv::template process_tile<1, 1, 1, 3, 0, 1>,
4180 Conv::template process_tile<1, 1, 1, 3, 0, 2>,
4181 Conv::template process_tile<1, 1, 1, 3, 0, 3>,
4182 }, // Output pad bottom = 0
4183 { // Output pad bottom = 1
4184 Conv::template process_tile<1, 1, 1, 3, 1, 0>,
4185 Conv::template process_tile<1, 1, 1, 3, 1, 1>,
4186 Conv::template process_tile<1, 1, 1, 3, 1, 2>,
4187 Conv::template process_tile<1, 1, 1, 3, 1, 3>,
4188 }, // Output pad bottom = 1
4189 { // Output pad bottom = 2
4190 Conv::template process_tile<1, 1, 1, 3, 2, 0>,
4191 Conv::template process_tile<1, 1, 1, 3, 2, 1>,
4192 Conv::template process_tile<1, 1, 1, 3, 2, 2>,
4193 Conv::template process_tile<1, 1, 1, 3, 2, 3>,
4194 }, // Output pad bottom = 2
4195 { // Output pad bottom = 3
4196 Conv::template process_tile<1, 1, 1, 3, 3, 0>,
4197 Conv::template process_tile<1, 1, 1, 3, 3, 1>,
4198 Conv::template process_tile<1, 1, 1, 3, 3, 2>,
4199 Conv::template process_tile<1, 1, 1, 3, 3, 3>,
4200 }, // Output pad bottom = 3
4201 }, // Input pad right = 3
4202 { // Input pad right = 4
4203 { // Output pad bottom = 0
4204 Conv::template process_tile<1, 1, 1, 4, 0, 0>,
4205 Conv::template process_tile<1, 1, 1, 4, 0, 1>,
4206 Conv::template process_tile<1, 1, 1, 4, 0, 2>,
4207 Conv::template process_tile<1, 1, 1, 4, 0, 3>,
4208 }, // Output pad bottom = 0
4209 { // Output pad bottom = 1
4210 Conv::template process_tile<1, 1, 1, 4, 1, 0>,
4211 Conv::template process_tile<1, 1, 1, 4, 1, 1>,
4212 Conv::template process_tile<1, 1, 1, 4, 1, 2>,
4213 Conv::template process_tile<1, 1, 1, 4, 1, 3>,
4214 }, // Output pad bottom = 1
4215 { // Output pad bottom = 2
4216 Conv::template process_tile<1, 1, 1, 4, 2, 0>,
4217 Conv::template process_tile<1, 1, 1, 4, 2, 1>,
4218 Conv::template process_tile<1, 1, 1, 4, 2, 2>,
4219 Conv::template process_tile<1, 1, 1, 4, 2, 3>,
4220 }, // Output pad bottom = 2
4221 { // Output pad bottom = 3
4222 Conv::template process_tile<1, 1, 1, 4, 3, 0>,
4223 Conv::template process_tile<1, 1, 1, 4, 3, 1>,
4224 Conv::template process_tile<1, 1, 1, 4, 3, 2>,
4225 Conv::template process_tile<1, 1, 1, 4, 3, 3>,
4226 }, // Output pad bottom = 3
4227 }, // Input pad right = 4
4228 { // Input pad right = 5
4229 { // Output pad bottom = 0
4230 Conv::template process_tile<1, 1, 1, 5, 0, 0>,
4231 Conv::template process_tile<1, 1, 1, 5, 0, 1>,
4232 Conv::template process_tile<1, 1, 1, 5, 0, 2>,
4233 Conv::template process_tile<1, 1, 1, 5, 0, 3>,
4234 }, // Output pad bottom = 0
4235 { // Output pad bottom = 1
4236 Conv::template process_tile<1, 1, 1, 5, 1, 0>,
4237 Conv::template process_tile<1, 1, 1, 5, 1, 1>,
4238 Conv::template process_tile<1, 1, 1, 5, 1, 2>,
4239 Conv::template process_tile<1, 1, 1, 5, 1, 3>,
4240 }, // Output pad bottom = 1
4241 { // Output pad bottom = 2
4242 Conv::template process_tile<1, 1, 1, 5, 2, 0>,
4243 Conv::template process_tile<1, 1, 1, 5, 2, 1>,
4244 Conv::template process_tile<1, 1, 1, 5, 2, 2>,
4245 Conv::template process_tile<1, 1, 1, 5, 2, 3>,
4246 }, // Output pad bottom = 2
4247 { // Output pad bottom = 3
4248 Conv::template process_tile<1, 1, 1, 5, 3, 0>,
4249 Conv::template process_tile<1, 1, 1, 5, 3, 1>,
4250 Conv::template process_tile<1, 1, 1, 5, 3, 2>,
4251 Conv::template process_tile<1, 1, 1, 5, 3, 3>,
4252 }, // Output pad bottom = 3
4253 }, // Input pad right = 5
4254 { // Input pad right = 6
4255 { // Output pad bottom = 0
4256 Conv::template process_tile<1, 1, 1, 6, 0, 0>,
4257 Conv::template process_tile<1, 1, 1, 6, 0, 1>,
4258 Conv::template process_tile<1, 1, 1, 6, 0, 2>,
4259 Conv::template process_tile<1, 1, 1, 6, 0, 3>,
4260 }, // Output pad bottom = 0
4261 { // Output pad bottom = 1
4262 Conv::template process_tile<1, 1, 1, 6, 1, 0>,
4263 Conv::template process_tile<1, 1, 1, 6, 1, 1>,
4264 Conv::template process_tile<1, 1, 1, 6, 1, 2>,
4265 Conv::template process_tile<1, 1, 1, 6, 1, 3>,
4266 }, // Output pad bottom = 1
4267 { // Output pad bottom = 2
4268 Conv::template process_tile<1, 1, 1, 6, 2, 0>,
4269 Conv::template process_tile<1, 1, 1, 6, 2, 1>,
4270 Conv::template process_tile<1, 1, 1, 6, 2, 2>,
4271 Conv::template process_tile<1, 1, 1, 6, 2, 3>,
4272 }, // Output pad bottom = 2
4273 { // Output pad bottom = 3
4274 Conv::template process_tile<1, 1, 1, 6, 3, 0>,
4275 Conv::template process_tile<1, 1, 1, 6, 3, 1>,
4276 Conv::template process_tile<1, 1, 1, 6, 3, 2>,
4277 Conv::template process_tile<1, 1, 1, 6, 3, 3>,
4278 }, // Output pad bottom = 3
4279 }, // Input pad right = 6
4280 }, // Input pad bottom = 1
4281 { // Input pad bottom = 2
4282 { // Input pad right = 0
4283 { // Output pad bottom = 0
4284 Conv::template process_tile<1, 1, 2, 0, 0, 0>,
4285 Conv::template process_tile<1, 1, 2, 0, 0, 1>,
4286 Conv::template process_tile<1, 1, 2, 0, 0, 2>,
4287 Conv::template process_tile<1, 1, 2, 0, 0, 3>,
4288 }, // Output pad bottom = 0
4289 { // Output pad bottom = 1
4290 Conv::template process_tile<1, 1, 2, 0, 1, 0>,
4291 Conv::template process_tile<1, 1, 2, 0, 1, 1>,
4292 Conv::template process_tile<1, 1, 2, 0, 1, 2>,
4293 Conv::template process_tile<1, 1, 2, 0, 1, 3>,
4294 }, // Output pad bottom = 1
4295 { // Output pad bottom = 2
4296 Conv::template process_tile<1, 1, 2, 0, 2, 0>,
4297 Conv::template process_tile<1, 1, 2, 0, 2, 1>,
4298 Conv::template process_tile<1, 1, 2, 0, 2, 2>,
4299 Conv::template process_tile<1, 1, 2, 0, 2, 3>,
4300 }, // Output pad bottom = 2
4301 { // Output pad bottom = 3
4302 Conv::template process_tile<1, 1, 2, 0, 3, 0>,
4303 Conv::template process_tile<1, 1, 2, 0, 3, 1>,
4304 Conv::template process_tile<1, 1, 2, 0, 3, 2>,
4305 Conv::template process_tile<1, 1, 2, 0, 3, 3>,
4306 }, // Output pad bottom = 3
4307 }, // Input pad right = 0
4308 { // Input pad right = 1
4309 { // Output pad bottom = 0
4310 Conv::template process_tile<1, 1, 2, 1, 0, 0>,
4311 Conv::template process_tile<1, 1, 2, 1, 0, 1>,
4312 Conv::template process_tile<1, 1, 2, 1, 0, 2>,
4313 Conv::template process_tile<1, 1, 2, 1, 0, 3>,
4314 }, // Output pad bottom = 0
4315 { // Output pad bottom = 1
4316 Conv::template process_tile<1, 1, 2, 1, 1, 0>,
4317 Conv::template process_tile<1, 1, 2, 1, 1, 1>,
4318 Conv::template process_tile<1, 1, 2, 1, 1, 2>,
4319 Conv::template process_tile<1, 1, 2, 1, 1, 3>,
4320 }, // Output pad bottom = 1
4321 { // Output pad bottom = 2
4322 Conv::template process_tile<1, 1, 2, 1, 2, 0>,
4323 Conv::template process_tile<1, 1, 2, 1, 2, 1>,
4324 Conv::template process_tile<1, 1, 2, 1, 2, 2>,
4325 Conv::template process_tile<1, 1, 2, 1, 2, 3>,
4326 }, // Output pad bottom = 2
4327 { // Output pad bottom = 3
4328 Conv::template process_tile<1, 1, 2, 1, 3, 0>,
4329 Conv::template process_tile<1, 1, 2, 1, 3, 1>,
4330 Conv::template process_tile<1, 1, 2, 1, 3, 2>,
4331 Conv::template process_tile<1, 1, 2, 1, 3, 3>,
4332 }, // Output pad bottom = 3
4333 }, // Input pad right = 1
4334 { // Input pad right = 2
4335 { // Output pad bottom = 0
4336 Conv::template process_tile<1, 1, 2, 2, 0, 0>,
4337 Conv::template process_tile<1, 1, 2, 2, 0, 1>,
4338 Conv::template process_tile<1, 1, 2, 2, 0, 2>,
4339 Conv::template process_tile<1, 1, 2, 2, 0, 3>,
4340 }, // Output pad bottom = 0
4341 { // Output pad bottom = 1
4342 Conv::template process_tile<1, 1, 2, 2, 1, 0>,
4343 Conv::template process_tile<1, 1, 2, 2, 1, 1>,
4344 Conv::template process_tile<1, 1, 2, 2, 1, 2>,
4345 Conv::template process_tile<1, 1, 2, 2, 1, 3>,
4346 }, // Output pad bottom = 1
4347 { // Output pad bottom = 2
4348 Conv::template process_tile<1, 1, 2, 2, 2, 0>,
4349 Conv::template process_tile<1, 1, 2, 2, 2, 1>,
4350 Conv::template process_tile<1, 1, 2, 2, 2, 2>,
4351 Conv::template process_tile<1, 1, 2, 2, 2, 3>,
4352 }, // Output pad bottom = 2
4353 { // Output pad bottom = 3
4354 Conv::template process_tile<1, 1, 2, 2, 3, 0>,
4355 Conv::template process_tile<1, 1, 2, 2, 3, 1>,
4356 Conv::template process_tile<1, 1, 2, 2, 3, 2>,
4357 Conv::template process_tile<1, 1, 2, 2, 3, 3>,
4358 }, // Output pad bottom = 3
4359 }, // Input pad right = 2
4360 { // Input pad right = 3
4361 { // Output pad bottom = 0
4362 Conv::template process_tile<1, 1, 2, 3, 0, 0>,
4363 Conv::template process_tile<1, 1, 2, 3, 0, 1>,
4364 Conv::template process_tile<1, 1, 2, 3, 0, 2>,
4365 Conv::template process_tile<1, 1, 2, 3, 0, 3>,
4366 }, // Output pad bottom = 0
4367 { // Output pad bottom = 1
4368 Conv::template process_tile<1, 1, 2, 3, 1, 0>,
4369 Conv::template process_tile<1, 1, 2, 3, 1, 1>,
4370 Conv::template process_tile<1, 1, 2, 3, 1, 2>,
4371 Conv::template process_tile<1, 1, 2, 3, 1, 3>,
4372 }, // Output pad bottom = 1
4373 { // Output pad bottom = 2
4374 Conv::template process_tile<1, 1, 2, 3, 2, 0>,
4375 Conv::template process_tile<1, 1, 2, 3, 2, 1>,
4376 Conv::template process_tile<1, 1, 2, 3, 2, 2>,
4377 Conv::template process_tile<1, 1, 2, 3, 2, 3>,
4378 }, // Output pad bottom = 2
4379 { // Output pad bottom = 3
4380 Conv::template process_tile<1, 1, 2, 3, 3, 0>,
4381 Conv::template process_tile<1, 1, 2, 3, 3, 1>,
4382 Conv::template process_tile<1, 1, 2, 3, 3, 2>,
4383 Conv::template process_tile<1, 1, 2, 3, 3, 3>,
4384 }, // Output pad bottom = 3
4385 }, // Input pad right = 3
4386 { // Input pad right = 4
4387 { // Output pad bottom = 0
4388 Conv::template process_tile<1, 1, 2, 4, 0, 0>,
4389 Conv::template process_tile<1, 1, 2, 4, 0, 1>,
4390 Conv::template process_tile<1, 1, 2, 4, 0, 2>,
4391 Conv::template process_tile<1, 1, 2, 4, 0, 3>,
4392 }, // Output pad bottom = 0
4393 { // Output pad bottom = 1
4394 Conv::template process_tile<1, 1, 2, 4, 1, 0>,
4395 Conv::template process_tile<1, 1, 2, 4, 1, 1>,
4396 Conv::template process_tile<1, 1, 2, 4, 1, 2>,
4397 Conv::template process_tile<1, 1, 2, 4, 1, 3>,
4398 }, // Output pad bottom = 1
4399 { // Output pad bottom = 2
4400 Conv::template process_tile<1, 1, 2, 4, 2, 0>,
4401 Conv::template process_tile<1, 1, 2, 4, 2, 1>,
4402 Conv::template process_tile<1, 1, 2, 4, 2, 2>,
4403 Conv::template process_tile<1, 1, 2, 4, 2, 3>,
4404 }, // Output pad bottom = 2
4405 { // Output pad bottom = 3
4406 Conv::template process_tile<1, 1, 2, 4, 3, 0>,
4407 Conv::template process_tile<1, 1, 2, 4, 3, 1>,
4408 Conv::template process_tile<1, 1, 2, 4, 3, 2>,
4409 Conv::template process_tile<1, 1, 2, 4, 3, 3>,
4410 }, // Output pad bottom = 3
4411 }, // Input pad right = 4
4412 { // Input pad right = 5
4413 { // Output pad bottom = 0
4414 Conv::template process_tile<1, 1, 2, 5, 0, 0>,
4415 Conv::template process_tile<1, 1, 2, 5, 0, 1>,
4416 Conv::template process_tile<1, 1, 2, 5, 0, 2>,
4417 Conv::template process_tile<1, 1, 2, 5, 0, 3>,
4418 }, // Output pad bottom = 0
4419 { // Output pad bottom = 1
4420 Conv::template process_tile<1, 1, 2, 5, 1, 0>,
4421 Conv::template process_tile<1, 1, 2, 5, 1, 1>,
4422 Conv::template process_tile<1, 1, 2, 5, 1, 2>,
4423 Conv::template process_tile<1, 1, 2, 5, 1, 3>,
4424 }, // Output pad bottom = 1
4425 { // Output pad bottom = 2
4426 Conv::template process_tile<1, 1, 2, 5, 2, 0>,
4427 Conv::template process_tile<1, 1, 2, 5, 2, 1>,
4428 Conv::template process_tile<1, 1, 2, 5, 2, 2>,
4429 Conv::template process_tile<1, 1, 2, 5, 2, 3>,
4430 }, // Output pad bottom = 2
4431 { // Output pad bottom = 3
4432 Conv::template process_tile<1, 1, 2, 5, 3, 0>,
4433 Conv::template process_tile<1, 1, 2, 5, 3, 1>,
4434 Conv::template process_tile<1, 1, 2, 5, 3, 2>,
4435 Conv::template process_tile<1, 1, 2, 5, 3, 3>,
4436 }, // Output pad bottom = 3
4437 }, // Input pad right = 5
4438 { // Input pad right = 6
4439 { // Output pad bottom = 0
4440 Conv::template process_tile<1, 1, 2, 6, 0, 0>,
4441 Conv::template process_tile<1, 1, 2, 6, 0, 1>,
4442 Conv::template process_tile<1, 1, 2, 6, 0, 2>,
4443 Conv::template process_tile<1, 1, 2, 6, 0, 3>,
4444 }, // Output pad bottom = 0
4445 { // Output pad bottom = 1
4446 Conv::template process_tile<1, 1, 2, 6, 1, 0>,
4447 Conv::template process_tile<1, 1, 2, 6, 1, 1>,
4448 Conv::template process_tile<1, 1, 2, 6, 1, 2>,
4449 Conv::template process_tile<1, 1, 2, 6, 1, 3>,
4450 }, // Output pad bottom = 1
4451 { // Output pad bottom = 2
4452 Conv::template process_tile<1, 1, 2, 6, 2, 0>,
4453 Conv::template process_tile<1, 1, 2, 6, 2, 1>,
4454 Conv::template process_tile<1, 1, 2, 6, 2, 2>,
4455 Conv::template process_tile<1, 1, 2, 6, 2, 3>,
4456 }, // Output pad bottom = 2
4457 { // Output pad bottom = 3
4458 Conv::template process_tile<1, 1, 2, 6, 3, 0>,
4459 Conv::template process_tile<1, 1, 2, 6, 3, 1>,
4460 Conv::template process_tile<1, 1, 2, 6, 3, 2>,
4461 Conv::template process_tile<1, 1, 2, 6, 3, 3>,
4462 }, // Output pad bottom = 3
4463 }, // Input pad right = 6
4464 }, // Input pad bottom = 2
4465 { // Input pad bottom = 3
4466 { // Input pad right = 0
4467 { // Output pad bottom = 0
4468 Conv::template process_tile<1, 1, 3, 0, 0, 0>,
4469 Conv::template process_tile<1, 1, 3, 0, 0, 1>,
4470 Conv::template process_tile<1, 1, 3, 0, 0, 2>,
4471 Conv::template process_tile<1, 1, 3, 0, 0, 3>,
4472 }, // Output pad bottom = 0
4473 { // Output pad bottom = 1
4474 Conv::template process_tile<1, 1, 3, 0, 1, 0>,
4475 Conv::template process_tile<1, 1, 3, 0, 1, 1>,
4476 Conv::template process_tile<1, 1, 3, 0, 1, 2>,
4477 Conv::template process_tile<1, 1, 3, 0, 1, 3>,
4478 }, // Output pad bottom = 1
4479 { // Output pad bottom = 2
4480 Conv::template process_tile<1, 1, 3, 0, 2, 0>,
4481 Conv::template process_tile<1, 1, 3, 0, 2, 1>,
4482 Conv::template process_tile<1, 1, 3, 0, 2, 2>,
4483 Conv::template process_tile<1, 1, 3, 0, 2, 3>,
4484 }, // Output pad bottom = 2
4485 { // Output pad bottom = 3
4486 Conv::template process_tile<1, 1, 3, 0, 3, 0>,
4487 Conv::template process_tile<1, 1, 3, 0, 3, 1>,
4488 Conv::template process_tile<1, 1, 3, 0, 3, 2>,
4489 Conv::template process_tile<1, 1, 3, 0, 3, 3>,
4490 }, // Output pad bottom = 3
4491 }, // Input pad right = 0
4492 { // Input pad right = 1
4493 { // Output pad bottom = 0
4494 Conv::template process_tile<1, 1, 3, 1, 0, 0>,
4495 Conv::template process_tile<1, 1, 3, 1, 0, 1>,
4496 Conv::template process_tile<1, 1, 3, 1, 0, 2>,
4497 Conv::template process_tile<1, 1, 3, 1, 0, 3>,
4498 }, // Output pad bottom = 0
4499 { // Output pad bottom = 1
4500 Conv::template process_tile<1, 1, 3, 1, 1, 0>,
4501 Conv::template process_tile<1, 1, 3, 1, 1, 1>,
4502 Conv::template process_tile<1, 1, 3, 1, 1, 2>,
4503 Conv::template process_tile<1, 1, 3, 1, 1, 3>,
4504 }, // Output pad bottom = 1
4505 { // Output pad bottom = 2
4506 Conv::template process_tile<1, 1, 3, 1, 2, 0>,
4507 Conv::template process_tile<1, 1, 3, 1, 2, 1>,
4508 Conv::template process_tile<1, 1, 3, 1, 2, 2>,
4509 Conv::template process_tile<1, 1, 3, 1, 2, 3>,
4510 }, // Output pad bottom = 2
4511 { // Output pad bottom = 3
4512 Conv::template process_tile<1, 1, 3, 1, 3, 0>,
4513 Conv::template process_tile<1, 1, 3, 1, 3, 1>,
4514 Conv::template process_tile<1, 1, 3, 1, 3, 2>,
4515 Conv::template process_tile<1, 1, 3, 1, 3, 3>,
4516 }, // Output pad bottom = 3
4517 }, // Input pad right = 1
4518 { // Input pad right = 2
4519 { // Output pad bottom = 0
4520 Conv::template process_tile<1, 1, 3, 2, 0, 0>,
4521 Conv::template process_tile<1, 1, 3, 2, 0, 1>,
4522 Conv::template process_tile<1, 1, 3, 2, 0, 2>,
4523 Conv::template process_tile<1, 1, 3, 2, 0, 3>,
4524 }, // Output pad bottom = 0
4525 { // Output pad bottom = 1
4526 Conv::template process_tile<1, 1, 3, 2, 1, 0>,
4527 Conv::template process_tile<1, 1, 3, 2, 1, 1>,
4528 Conv::template process_tile<1, 1, 3, 2, 1, 2>,
4529 Conv::template process_tile<1, 1, 3, 2, 1, 3>,
4530 }, // Output pad bottom = 1
4531 { // Output pad bottom = 2
4532 Conv::template process_tile<1, 1, 3, 2, 2, 0>,
4533 Conv::template process_tile<1, 1, 3, 2, 2, 1>,
4534 Conv::template process_tile<1, 1, 3, 2, 2, 2>,
4535 Conv::template process_tile<1, 1, 3, 2, 2, 3>,
4536 }, // Output pad bottom = 2
4537 { // Output pad bottom = 3
4538 Conv::template process_tile<1, 1, 3, 2, 3, 0>,
4539 Conv::template process_tile<1, 1, 3, 2, 3, 1>,
4540 Conv::template process_tile<1, 1, 3, 2, 3, 2>,
4541 Conv::template process_tile<1, 1, 3, 2, 3, 3>,
4542 }, // Output pad bottom = 3
4543 }, // Input pad right = 2
4544 { // Input pad right = 3
4545 { // Output pad bottom = 0
4546 Conv::template process_tile<1, 1, 3, 3, 0, 0>,
4547 Conv::template process_tile<1, 1, 3, 3, 0, 1>,
4548 Conv::template process_tile<1, 1, 3, 3, 0, 2>,
4549 Conv::template process_tile<1, 1, 3, 3, 0, 3>,
4550 }, // Output pad bottom = 0
4551 { // Output pad bottom = 1
4552 Conv::template process_tile<1, 1, 3, 3, 1, 0>,
4553 Conv::template process_tile<1, 1, 3, 3, 1, 1>,
4554 Conv::template process_tile<1, 1, 3, 3, 1, 2>,
4555 Conv::template process_tile<1, 1, 3, 3, 1, 3>,
4556 }, // Output pad bottom = 1
4557 { // Output pad bottom = 2
4558 Conv::template process_tile<1, 1, 3, 3, 2, 0>,
4559 Conv::template process_tile<1, 1, 3, 3, 2, 1>,
4560 Conv::template process_tile<1, 1, 3, 3, 2, 2>,
4561 Conv::template process_tile<1, 1, 3, 3, 2, 3>,
4562 }, // Output pad bottom = 2
4563 { // Output pad bottom = 3
4564 Conv::template process_tile<1, 1, 3, 3, 3, 0>,
4565 Conv::template process_tile<1, 1, 3, 3, 3, 1>,
4566 Conv::template process_tile<1, 1, 3, 3, 3, 2>,
4567 Conv::template process_tile<1, 1, 3, 3, 3, 3>,
4568 }, // Output pad bottom = 3
4569 }, // Input pad right = 3
4570 { // Input pad right = 4
4571 { // Output pad bottom = 0
4572 Conv::template process_tile<1, 1, 3, 4, 0, 0>,
4573 Conv::template process_tile<1, 1, 3, 4, 0, 1>,
4574 Conv::template process_tile<1, 1, 3, 4, 0, 2>,
4575 Conv::template process_tile<1, 1, 3, 4, 0, 3>,
4576 }, // Output pad bottom = 0
4577 { // Output pad bottom = 1
4578 Conv::template process_tile<1, 1, 3, 4, 1, 0>,
4579 Conv::template process_tile<1, 1, 3, 4, 1, 1>,
4580 Conv::template process_tile<1, 1, 3, 4, 1, 2>,
4581 Conv::template process_tile<1, 1, 3, 4, 1, 3>,
4582 }, // Output pad bottom = 1
4583 { // Output pad bottom = 2
4584 Conv::template process_tile<1, 1, 3, 4, 2, 0>,
4585 Conv::template process_tile<1, 1, 3, 4, 2, 1>,
4586 Conv::template process_tile<1, 1, 3, 4, 2, 2>,
4587 Conv::template process_tile<1, 1, 3, 4, 2, 3>,
4588 }, // Output pad bottom = 2
4589 { // Output pad bottom = 3
4590 Conv::template process_tile<1, 1, 3, 4, 3, 0>,
4591 Conv::template process_tile<1, 1, 3, 4, 3, 1>,
4592 Conv::template process_tile<1, 1, 3, 4, 3, 2>,
4593 Conv::template process_tile<1, 1, 3, 4, 3, 3>,
4594 }, // Output pad bottom = 3
4595 }, // Input pad right = 4
4596 { // Input pad right = 5
4597 { // Output pad bottom = 0
4598 Conv::template process_tile<1, 1, 3, 5, 0, 0>,
4599 Conv::template process_tile<1, 1, 3, 5, 0, 1>,
4600 Conv::template process_tile<1, 1, 3, 5, 0, 2>,
4601 Conv::template process_tile<1, 1, 3, 5, 0, 3>,
4602 }, // Output pad bottom = 0
4603 { // Output pad bottom = 1
4604 Conv::template process_tile<1, 1, 3, 5, 1, 0>,
4605 Conv::template process_tile<1, 1, 3, 5, 1, 1>,
4606 Conv::template process_tile<1, 1, 3, 5, 1, 2>,
4607 Conv::template process_tile<1, 1, 3, 5, 1, 3>,
4608 }, // Output pad bottom = 1
4609 { // Output pad bottom = 2
4610 Conv::template process_tile<1, 1, 3, 5, 2, 0>,
4611 Conv::template process_tile<1, 1, 3, 5, 2, 1>,
4612 Conv::template process_tile<1, 1, 3, 5, 2, 2>,
4613 Conv::template process_tile<1, 1, 3, 5, 2, 3>,
4614 }, // Output pad bottom = 2
4615 { // Output pad bottom = 3
4616 Conv::template process_tile<1, 1, 3, 5, 3, 0>,
4617 Conv::template process_tile<1, 1, 3, 5, 3, 1>,
4618 Conv::template process_tile<1, 1, 3, 5, 3, 2>,
4619 Conv::template process_tile<1, 1, 3, 5, 3, 3>,
4620 }, // Output pad bottom = 3
4621 }, // Input pad right = 5
4622 { // Input pad right = 6
4623 { // Output pad bottom = 0
4624 Conv::template process_tile<1, 1, 3, 6, 0, 0>,
4625 Conv::template process_tile<1, 1, 3, 6, 0, 1>,
4626 Conv::template process_tile<1, 1, 3, 6, 0, 2>,
4627 Conv::template process_tile<1, 1, 3, 6, 0, 3>,
4628 }, // Output pad bottom = 0
4629 { // Output pad bottom = 1
4630 Conv::template process_tile<1, 1, 3, 6, 1, 0>,
4631 Conv::template process_tile<1, 1, 3, 6, 1, 1>,
4632 Conv::template process_tile<1, 1, 3, 6, 1, 2>,
4633 Conv::template process_tile<1, 1, 3, 6, 1, 3>,
4634 }, // Output pad bottom = 1
4635 { // Output pad bottom = 2
4636 Conv::template process_tile<1, 1, 3, 6, 2, 0>,
4637 Conv::template process_tile<1, 1, 3, 6, 2, 1>,
4638 Conv::template process_tile<1, 1, 3, 6, 2, 2>,
4639 Conv::template process_tile<1, 1, 3, 6, 2, 3>,
4640 }, // Output pad bottom = 2
4641 { // Output pad bottom = 3
4642 Conv::template process_tile<1, 1, 3, 6, 3, 0>,
4643 Conv::template process_tile<1, 1, 3, 6, 3, 1>,
4644 Conv::template process_tile<1, 1, 3, 6, 3, 2>,
4645 Conv::template process_tile<1, 1, 3, 6, 3, 3>,
4646 }, // Output pad bottom = 3
4647 }, // Input pad right = 6
4648 }, // Input pad bottom = 3
4649 { // Input pad bottom = 4
4650 { // Input pad right = 0
4651 { // Output pad bottom = 0
4652 Conv::template process_tile<1, 1, 4, 0, 0, 0>,
4653 Conv::template process_tile<1, 1, 4, 0, 0, 1>,
4654 Conv::template process_tile<1, 1, 4, 0, 0, 2>,
4655 Conv::template process_tile<1, 1, 4, 0, 0, 3>,
4656 }, // Output pad bottom = 0
4657 { // Output pad bottom = 1
4658 Conv::template process_tile<1, 1, 4, 0, 1, 0>,
4659 Conv::template process_tile<1, 1, 4, 0, 1, 1>,
4660 Conv::template process_tile<1, 1, 4, 0, 1, 2>,
4661 Conv::template process_tile<1, 1, 4, 0, 1, 3>,
4662 }, // Output pad bottom = 1
4663 { // Output pad bottom = 2
4664 Conv::template process_tile<1, 1, 4, 0, 2, 0>,
4665 Conv::template process_tile<1, 1, 4, 0, 2, 1>,
4666 Conv::template process_tile<1, 1, 4, 0, 2, 2>,
4667 Conv::template process_tile<1, 1, 4, 0, 2, 3>,
4668 }, // Output pad bottom = 2
4669 { // Output pad bottom = 3
4670 Conv::template process_tile<1, 1, 4, 0, 3, 0>,
4671 Conv::template process_tile<1, 1, 4, 0, 3, 1>,
4672 Conv::template process_tile<1, 1, 4, 0, 3, 2>,
4673 Conv::template process_tile<1, 1, 4, 0, 3, 3>,
4674 }, // Output pad bottom = 3
4675 }, // Input pad right = 0
4676 { // Input pad right = 1
4677 { // Output pad bottom = 0
4678 Conv::template process_tile<1, 1, 4, 1, 0, 0>,
4679 Conv::template process_tile<1, 1, 4, 1, 0, 1>,
4680 Conv::template process_tile<1, 1, 4, 1, 0, 2>,
4681 Conv::template process_tile<1, 1, 4, 1, 0, 3>,
4682 }, // Output pad bottom = 0
4683 { // Output pad bottom = 1
4684 Conv::template process_tile<1, 1, 4, 1, 1, 0>,
4685 Conv::template process_tile<1, 1, 4, 1, 1, 1>,
4686 Conv::template process_tile<1, 1, 4, 1, 1, 2>,
4687 Conv::template process_tile<1, 1, 4, 1, 1, 3>,
4688 }, // Output pad bottom = 1
4689 { // Output pad bottom = 2
4690 Conv::template process_tile<1, 1, 4, 1, 2, 0>,
4691 Conv::template process_tile<1, 1, 4, 1, 2, 1>,
4692 Conv::template process_tile<1, 1, 4, 1, 2, 2>,
4693 Conv::template process_tile<1, 1, 4, 1, 2, 3>,
4694 }, // Output pad bottom = 2
4695 { // Output pad bottom = 3
4696 Conv::template process_tile<1, 1, 4, 1, 3, 0>,
4697 Conv::template process_tile<1, 1, 4, 1, 3, 1>,
4698 Conv::template process_tile<1, 1, 4, 1, 3, 2>,
4699 Conv::template process_tile<1, 1, 4, 1, 3, 3>,
4700 }, // Output pad bottom = 3
4701 }, // Input pad right = 1
4702 { // Input pad right = 2
4703 { // Output pad bottom = 0
4704 Conv::template process_tile<1, 1, 4, 2, 0, 0>,
4705 Conv::template process_tile<1, 1, 4, 2, 0, 1>,
4706 Conv::template process_tile<1, 1, 4, 2, 0, 2>,
4707 Conv::template process_tile<1, 1, 4, 2, 0, 3>,
4708 }, // Output pad bottom = 0
4709 { // Output pad bottom = 1
4710 Conv::template process_tile<1, 1, 4, 2, 1, 0>,
4711 Conv::template process_tile<1, 1, 4, 2, 1, 1>,
4712 Conv::template process_tile<1, 1, 4, 2, 1, 2>,
4713 Conv::template process_tile<1, 1, 4, 2, 1, 3>,
4714 }, // Output pad bottom = 1
4715 { // Output pad bottom = 2
4716 Conv::template process_tile<1, 1, 4, 2, 2, 0>,
4717 Conv::template process_tile<1, 1, 4, 2, 2, 1>,
4718 Conv::template process_tile<1, 1, 4, 2, 2, 2>,
4719 Conv::template process_tile<1, 1, 4, 2, 2, 3>,
4720 }, // Output pad bottom = 2
4721 { // Output pad bottom = 3
4722 Conv::template process_tile<1, 1, 4, 2, 3, 0>,
4723 Conv::template process_tile<1, 1, 4, 2, 3, 1>,
4724 Conv::template process_tile<1, 1, 4, 2, 3, 2>,
4725 Conv::template process_tile<1, 1, 4, 2, 3, 3>,
4726 }, // Output pad bottom = 3
4727 }, // Input pad right = 2
4728 { // Input pad right = 3
4729 { // Output pad bottom = 0
4730 Conv::template process_tile<1, 1, 4, 3, 0, 0>,
4731 Conv::template process_tile<1, 1, 4, 3, 0, 1>,
4732 Conv::template process_tile<1, 1, 4, 3, 0, 2>,
4733 Conv::template process_tile<1, 1, 4, 3, 0, 3>,
4734 }, // Output pad bottom = 0
4735 { // Output pad bottom = 1
4736 Conv::template process_tile<1, 1, 4, 3, 1, 0>,
4737 Conv::template process_tile<1, 1, 4, 3, 1, 1>,
4738 Conv::template process_tile<1, 1, 4, 3, 1, 2>,
4739 Conv::template process_tile<1, 1, 4, 3, 1, 3>,
4740 }, // Output pad bottom = 1
4741 { // Output pad bottom = 2
4742 Conv::template process_tile<1, 1, 4, 3, 2, 0>,
4743 Conv::template process_tile<1, 1, 4, 3, 2, 1>,
4744 Conv::template process_tile<1, 1, 4, 3, 2, 2>,
4745 Conv::template process_tile<1, 1, 4, 3, 2, 3>,
4746 }, // Output pad bottom = 2
4747 { // Output pad bottom = 3
4748 Conv::template process_tile<1, 1, 4, 3, 3, 0>,
4749 Conv::template process_tile<1, 1, 4, 3, 3, 1>,
4750 Conv::template process_tile<1, 1, 4, 3, 3, 2>,
4751 Conv::template process_tile<1, 1, 4, 3, 3, 3>,
4752 }, // Output pad bottom = 3
4753 }, // Input pad right = 3
4754 { // Input pad right = 4
4755 { // Output pad bottom = 0
4756 Conv::template process_tile<1, 1, 4, 4, 0, 0>,
4757 Conv::template process_tile<1, 1, 4, 4, 0, 1>,
4758 Conv::template process_tile<1, 1, 4, 4, 0, 2>,
4759 Conv::template process_tile<1, 1, 4, 4, 0, 3>,
4760 }, // Output pad bottom = 0
4761 { // Output pad bottom = 1
4762 Conv::template process_tile<1, 1, 4, 4, 1, 0>,
4763 Conv::template process_tile<1, 1, 4, 4, 1, 1>,
4764 Conv::template process_tile<1, 1, 4, 4, 1, 2>,
4765 Conv::template process_tile<1, 1, 4, 4, 1, 3>,
4766 }, // Output pad bottom = 1
4767 { // Output pad bottom = 2
4768 Conv::template process_tile<1, 1, 4, 4, 2, 0>,
4769 Conv::template process_tile<1, 1, 4, 4, 2, 1>,
4770 Conv::template process_tile<1, 1, 4, 4, 2, 2>,
4771 Conv::template process_tile<1, 1, 4, 4, 2, 3>,
4772 }, // Output pad bottom = 2
4773 { // Output pad bottom = 3
4774 Conv::template process_tile<1, 1, 4, 4, 3, 0>,
4775 Conv::template process_tile<1, 1, 4, 4, 3, 1>,
4776 Conv::template process_tile<1, 1, 4, 4, 3, 2>,
4777 Conv::template process_tile<1, 1, 4, 4, 3, 3>,
4778 }, // Output pad bottom = 3
4779 }, // Input pad right = 4
4780 { // Input pad right = 5
4781 { // Output pad bottom = 0
4782 Conv::template process_tile<1, 1, 4, 5, 0, 0>,
4783 Conv::template process_tile<1, 1, 4, 5, 0, 1>,
4784 Conv::template process_tile<1, 1, 4, 5, 0, 2>,
4785 Conv::template process_tile<1, 1, 4, 5, 0, 3>,
4786 }, // Output pad bottom = 0
4787 { // Output pad bottom = 1
4788 Conv::template process_tile<1, 1, 4, 5, 1, 0>,
4789 Conv::template process_tile<1, 1, 4, 5, 1, 1>,
4790 Conv::template process_tile<1, 1, 4, 5, 1, 2>,
4791 Conv::template process_tile<1, 1, 4, 5, 1, 3>,
4792 }, // Output pad bottom = 1
4793 { // Output pad bottom = 2
4794 Conv::template process_tile<1, 1, 4, 5, 2, 0>,
4795 Conv::template process_tile<1, 1, 4, 5, 2, 1>,
4796 Conv::template process_tile<1, 1, 4, 5, 2, 2>,
4797 Conv::template process_tile<1, 1, 4, 5, 2, 3>,
4798 }, // Output pad bottom = 2
4799 { // Output pad bottom = 3
4800 Conv::template process_tile<1, 1, 4, 5, 3, 0>,
4801 Conv::template process_tile<1, 1, 4, 5, 3, 1>,
4802 Conv::template process_tile<1, 1, 4, 5, 3, 2>,
4803 Conv::template process_tile<1, 1, 4, 5, 3, 3>,
4804 }, // Output pad bottom = 3
4805 }, // Input pad right = 5
4806 { // Input pad right = 6
4807 { // Output pad bottom = 0
4808 Conv::template process_tile<1, 1, 4, 6, 0, 0>,
4809 Conv::template process_tile<1, 1, 4, 6, 0, 1>,
4810 Conv::template process_tile<1, 1, 4, 6, 0, 2>,
4811 Conv::template process_tile<1, 1, 4, 6, 0, 3>,
4812 }, // Output pad bottom = 0
4813 { // Output pad bottom = 1
4814 Conv::template process_tile<1, 1, 4, 6, 1, 0>,
4815 Conv::template process_tile<1, 1, 4, 6, 1, 1>,
4816 Conv::template process_tile<1, 1, 4, 6, 1, 2>,
4817 Conv::template process_tile<1, 1, 4, 6, 1, 3>,
4818 }, // Output pad bottom = 1
4819 { // Output pad bottom = 2
4820 Conv::template process_tile<1, 1, 4, 6, 2, 0>,
4821 Conv::template process_tile<1, 1, 4, 6, 2, 1>,
4822 Conv::template process_tile<1, 1, 4, 6, 2, 2>,
4823 Conv::template process_tile<1, 1, 4, 6, 2, 3>,
4824 }, // Output pad bottom = 2
4825 { // Output pad bottom = 3
4826 Conv::template process_tile<1, 1, 4, 6, 3, 0>,
4827 Conv::template process_tile<1, 1, 4, 6, 3, 1>,
4828 Conv::template process_tile<1, 1, 4, 6, 3, 2>,
4829 Conv::template process_tile<1, 1, 4, 6, 3, 3>,
4830 }, // Output pad bottom = 3
4831 }, // Input pad right = 6
4832 }, // Input pad bottom = 4
4833 { // Input pad bottom = 5
4834 { // Input pad right = 0
4835 { // Output pad bottom = 0
4836 Conv::template process_tile<1, 1, 5, 0, 0, 0>,
4837 Conv::template process_tile<1, 1, 5, 0, 0, 1>,
4838 Conv::template process_tile<1, 1, 5, 0, 0, 2>,
4839 Conv::template process_tile<1, 1, 5, 0, 0, 3>,
4840 }, // Output pad bottom = 0
4841 { // Output pad bottom = 1
4842 Conv::template process_tile<1, 1, 5, 0, 1, 0>,
4843 Conv::template process_tile<1, 1, 5, 0, 1, 1>,
4844 Conv::template process_tile<1, 1, 5, 0, 1, 2>,
4845 Conv::template process_tile<1, 1, 5, 0, 1, 3>,
4846 }, // Output pad bottom = 1
4847 { // Output pad bottom = 2
4848 Conv::template process_tile<1, 1, 5, 0, 2, 0>,
4849 Conv::template process_tile<1, 1, 5, 0, 2, 1>,
4850 Conv::template process_tile<1, 1, 5, 0, 2, 2>,
4851 Conv::template process_tile<1, 1, 5, 0, 2, 3>,
4852 }, // Output pad bottom = 2
4853 { // Output pad bottom = 3
4854 Conv::template process_tile<1, 1, 5, 0, 3, 0>,
4855 Conv::template process_tile<1, 1, 5, 0, 3, 1>,
4856 Conv::template process_tile<1, 1, 5, 0, 3, 2>,
4857 Conv::template process_tile<1, 1, 5, 0, 3, 3>,
4858 }, // Output pad bottom = 3
4859 }, // Input pad right = 0
4860 { // Input pad right = 1
4861 { // Output pad bottom = 0
4862 Conv::template process_tile<1, 1, 5, 1, 0, 0>,
4863 Conv::template process_tile<1, 1, 5, 1, 0, 1>,
4864 Conv::template process_tile<1, 1, 5, 1, 0, 2>,
4865 Conv::template process_tile<1, 1, 5, 1, 0, 3>,
4866 }, // Output pad bottom = 0
4867 { // Output pad bottom = 1
4868 Conv::template process_tile<1, 1, 5, 1, 1, 0>,
4869 Conv::template process_tile<1, 1, 5, 1, 1, 1>,
4870 Conv::template process_tile<1, 1, 5, 1, 1, 2>,
4871 Conv::template process_tile<1, 1, 5, 1, 1, 3>,
4872 }, // Output pad bottom = 1
4873 { // Output pad bottom = 2
4874 Conv::template process_tile<1, 1, 5, 1, 2, 0>,
4875 Conv::template process_tile<1, 1, 5, 1, 2, 1>,
4876 Conv::template process_tile<1, 1, 5, 1, 2, 2>,
4877 Conv::template process_tile<1, 1, 5, 1, 2, 3>,
4878 }, // Output pad bottom = 2
4879 { // Output pad bottom = 3
4880 Conv::template process_tile<1, 1, 5, 1, 3, 0>,
4881 Conv::template process_tile<1, 1, 5, 1, 3, 1>,
4882 Conv::template process_tile<1, 1, 5, 1, 3, 2>,
4883 Conv::template process_tile<1, 1, 5, 1, 3, 3>,
4884 }, // Output pad bottom = 3
4885 }, // Input pad right = 1
4886 { // Input pad right = 2
4887 { // Output pad bottom = 0
4888 Conv::template process_tile<1, 1, 5, 2, 0, 0>,
4889 Conv::template process_tile<1, 1, 5, 2, 0, 1>,
4890 Conv::template process_tile<1, 1, 5, 2, 0, 2>,
4891 Conv::template process_tile<1, 1, 5, 2, 0, 3>,
4892 }, // Output pad bottom = 0
4893 { // Output pad bottom = 1
4894 Conv::template process_tile<1, 1, 5, 2, 1, 0>,
4895 Conv::template process_tile<1, 1, 5, 2, 1, 1>,
4896 Conv::template process_tile<1, 1, 5, 2, 1, 2>,
4897 Conv::template process_tile<1, 1, 5, 2, 1, 3>,
4898 }, // Output pad bottom = 1
4899 { // Output pad bottom = 2
4900 Conv::template process_tile<1, 1, 5, 2, 2, 0>,
4901 Conv::template process_tile<1, 1, 5, 2, 2, 1>,
4902 Conv::template process_tile<1, 1, 5, 2, 2, 2>,
4903 Conv::template process_tile<1, 1, 5, 2, 2, 3>,
4904 }, // Output pad bottom = 2
4905 { // Output pad bottom = 3
4906 Conv::template process_tile<1, 1, 5, 2, 3, 0>,
4907 Conv::template process_tile<1, 1, 5, 2, 3, 1>,
4908 Conv::template process_tile<1, 1, 5, 2, 3, 2>,
4909 Conv::template process_tile<1, 1, 5, 2, 3, 3>,
4910 }, // Output pad bottom = 3
4911 }, // Input pad right = 2
4912 { // Input pad right = 3
4913 { // Output pad bottom = 0
4914 Conv::template process_tile<1, 1, 5, 3, 0, 0>,
4915 Conv::template process_tile<1, 1, 5, 3, 0, 1>,
4916 Conv::template process_tile<1, 1, 5, 3, 0, 2>,
4917 Conv::template process_tile<1, 1, 5, 3, 0, 3>,
4918 }, // Output pad bottom = 0
4919 { // Output pad bottom = 1
4920 Conv::template process_tile<1, 1, 5, 3, 1, 0>,
4921 Conv::template process_tile<1, 1, 5, 3, 1, 1>,
4922 Conv::template process_tile<1, 1, 5, 3, 1, 2>,
4923 Conv::template process_tile<1, 1, 5, 3, 1, 3>,
4924 }, // Output pad bottom = 1
4925 { // Output pad bottom = 2
4926 Conv::template process_tile<1, 1, 5, 3, 2, 0>,
4927 Conv::template process_tile<1, 1, 5, 3, 2, 1>,
4928 Conv::template process_tile<1, 1, 5, 3, 2, 2>,
4929 Conv::template process_tile<1, 1, 5, 3, 2, 3>,
4930 }, // Output pad bottom = 2
4931 { // Output pad bottom = 3
4932 Conv::template process_tile<1, 1, 5, 3, 3, 0>,
4933 Conv::template process_tile<1, 1, 5, 3, 3, 1>,
4934 Conv::template process_tile<1, 1, 5, 3, 3, 2>,
4935 Conv::template process_tile<1, 1, 5, 3, 3, 3>,
4936 }, // Output pad bottom = 3
4937 }, // Input pad right = 3
4938 { // Input pad right = 4
4939 { // Output pad bottom = 0
4940 Conv::template process_tile<1, 1, 5, 4, 0, 0>,
4941 Conv::template process_tile<1, 1, 5, 4, 0, 1>,
4942 Conv::template process_tile<1, 1, 5, 4, 0, 2>,
4943 Conv::template process_tile<1, 1, 5, 4, 0, 3>,
4944 }, // Output pad bottom = 0
4945 { // Output pad bottom = 1
4946 Conv::template process_tile<1, 1, 5, 4, 1, 0>,
4947 Conv::template process_tile<1, 1, 5, 4, 1, 1>,
4948 Conv::template process_tile<1, 1, 5, 4, 1, 2>,
4949 Conv::template process_tile<1, 1, 5, 4, 1, 3>,
4950 }, // Output pad bottom = 1
4951 { // Output pad bottom = 2
4952 Conv::template process_tile<1, 1, 5, 4, 2, 0>,
4953 Conv::template process_tile<1, 1, 5, 4, 2, 1>,
4954 Conv::template process_tile<1, 1, 5, 4, 2, 2>,
4955 Conv::template process_tile<1, 1, 5, 4, 2, 3>,
4956 }, // Output pad bottom = 2
4957 { // Output pad bottom = 3
4958 Conv::template process_tile<1, 1, 5, 4, 3, 0>,
4959 Conv::template process_tile<1, 1, 5, 4, 3, 1>,
4960 Conv::template process_tile<1, 1, 5, 4, 3, 2>,
4961 Conv::template process_tile<1, 1, 5, 4, 3, 3>,
4962 }, // Output pad bottom = 3
4963 }, // Input pad right = 4
4964 { // Input pad right = 5
4965 { // Output pad bottom = 0
4966 Conv::template process_tile<1, 1, 5, 5, 0, 0>,
4967 Conv::template process_tile<1, 1, 5, 5, 0, 1>,
4968 Conv::template process_tile<1, 1, 5, 5, 0, 2>,
4969 Conv::template process_tile<1, 1, 5, 5, 0, 3>,
4970 }, // Output pad bottom = 0
4971 { // Output pad bottom = 1
4972 Conv::template process_tile<1, 1, 5, 5, 1, 0>,
4973 Conv::template process_tile<1, 1, 5, 5, 1, 1>,
4974 Conv::template process_tile<1, 1, 5, 5, 1, 2>,
4975 Conv::template process_tile<1, 1, 5, 5, 1, 3>,
4976 }, // Output pad bottom = 1
4977 { // Output pad bottom = 2
4978 Conv::template process_tile<1, 1, 5, 5, 2, 0>,
4979 Conv::template process_tile<1, 1, 5, 5, 2, 1>,
4980 Conv::template process_tile<1, 1, 5, 5, 2, 2>,
4981 Conv::template process_tile<1, 1, 5, 5, 2, 3>,
4982 }, // Output pad bottom = 2
4983 { // Output pad bottom = 3
4984 Conv::template process_tile<1, 1, 5, 5, 3, 0>,
4985 Conv::template process_tile<1, 1, 5, 5, 3, 1>,
4986 Conv::template process_tile<1, 1, 5, 5, 3, 2>,
4987 Conv::template process_tile<1, 1, 5, 5, 3, 3>,
4988 }, // Output pad bottom = 3
4989 }, // Input pad right = 5
4990 { // Input pad right = 6
4991 { // Output pad bottom = 0
4992 Conv::template process_tile<1, 1, 5, 6, 0, 0>,
4993 Conv::template process_tile<1, 1, 5, 6, 0, 1>,
4994 Conv::template process_tile<1, 1, 5, 6, 0, 2>,
4995 Conv::template process_tile<1, 1, 5, 6, 0, 3>,
4996 }, // Output pad bottom = 0
4997 { // Output pad bottom = 1
4998 Conv::template process_tile<1, 1, 5, 6, 1, 0>,
4999 Conv::template process_tile<1, 1, 5, 6, 1, 1>,
5000 Conv::template process_tile<1, 1, 5, 6, 1, 2>,
5001 Conv::template process_tile<1, 1, 5, 6, 1, 3>,
5002 }, // Output pad bottom = 1
5003 { // Output pad bottom = 2
5004 Conv::template process_tile<1, 1, 5, 6, 2, 0>,
5005 Conv::template process_tile<1, 1, 5, 6, 2, 1>,
5006 Conv::template process_tile<1, 1, 5, 6, 2, 2>,
5007 Conv::template process_tile<1, 1, 5, 6, 2, 3>,
5008 }, // Output pad bottom = 2
5009 { // Output pad bottom = 3
5010 Conv::template process_tile<1, 1, 5, 6, 3, 0>,
5011 Conv::template process_tile<1, 1, 5, 6, 3, 1>,
5012 Conv::template process_tile<1, 1, 5, 6, 3, 2>,
5013 Conv::template process_tile<1, 1, 5, 6, 3, 3>,
5014 }, // Output pad bottom = 3
5015 }, // Input pad right = 6
5016 }, // Input pad bottom = 5
5017 { // Input pad bottom = 6
5018 { // Input pad right = 0
5019 { // Output pad bottom = 0
5020 Conv::template process_tile<1, 1, 6, 0, 0, 0>,
5021 Conv::template process_tile<1, 1, 6, 0, 0, 1>,
5022 Conv::template process_tile<1, 1, 6, 0, 0, 2>,
5023 Conv::template process_tile<1, 1, 6, 0, 0, 3>,
5024 }, // Output pad bottom = 0
5025 { // Output pad bottom = 1
5026 Conv::template process_tile<1, 1, 6, 0, 1, 0>,
5027 Conv::template process_tile<1, 1, 6, 0, 1, 1>,
5028 Conv::template process_tile<1, 1, 6, 0, 1, 2>,
5029 Conv::template process_tile<1, 1, 6, 0, 1, 3>,
5030 }, // Output pad bottom = 1
5031 { // Output pad bottom = 2
5032 Conv::template process_tile<1, 1, 6, 0, 2, 0>,
5033 Conv::template process_tile<1, 1, 6, 0, 2, 1>,
5034 Conv::template process_tile<1, 1, 6, 0, 2, 2>,
5035 Conv::template process_tile<1, 1, 6, 0, 2, 3>,
5036 }, // Output pad bottom = 2
5037 { // Output pad bottom = 3
5038 Conv::template process_tile<1, 1, 6, 0, 3, 0>,
5039 Conv::template process_tile<1, 1, 6, 0, 3, 1>,
5040 Conv::template process_tile<1, 1, 6, 0, 3, 2>,
5041 Conv::template process_tile<1, 1, 6, 0, 3, 3>,
5042 }, // Output pad bottom = 3
5043 }, // Input pad right = 0
5044 { // Input pad right = 1
5045 { // Output pad bottom = 0
5046 Conv::template process_tile<1, 1, 6, 1, 0, 0>,
5047 Conv::template process_tile<1, 1, 6, 1, 0, 1>,
5048 Conv::template process_tile<1, 1, 6, 1, 0, 2>,
5049 Conv::template process_tile<1, 1, 6, 1, 0, 3>,
5050 }, // Output pad bottom = 0
5051 { // Output pad bottom = 1
5052 Conv::template process_tile<1, 1, 6, 1, 1, 0>,
5053 Conv::template process_tile<1, 1, 6, 1, 1, 1>,
5054 Conv::template process_tile<1, 1, 6, 1, 1, 2>,
5055 Conv::template process_tile<1, 1, 6, 1, 1, 3>,
5056 }, // Output pad bottom = 1
5057 { // Output pad bottom = 2
5058 Conv::template process_tile<1, 1, 6, 1, 2, 0>,
5059 Conv::template process_tile<1, 1, 6, 1, 2, 1>,
5060 Conv::template process_tile<1, 1, 6, 1, 2, 2>,
5061 Conv::template process_tile<1, 1, 6, 1, 2, 3>,
5062 }, // Output pad bottom = 2
5063 { // Output pad bottom = 3
5064 Conv::template process_tile<1, 1, 6, 1, 3, 0>,
5065 Conv::template process_tile<1, 1, 6, 1, 3, 1>,
5066 Conv::template process_tile<1, 1, 6, 1, 3, 2>,
5067 Conv::template process_tile<1, 1, 6, 1, 3, 3>,
5068 }, // Output pad bottom = 3
5069 }, // Input pad right = 1
5070 { // Input pad right = 2
5071 { // Output pad bottom = 0
5072 Conv::template process_tile<1, 1, 6, 2, 0, 0>,
5073 Conv::template process_tile<1, 1, 6, 2, 0, 1>,
5074 Conv::template process_tile<1, 1, 6, 2, 0, 2>,
5075 Conv::template process_tile<1, 1, 6, 2, 0, 3>,
5076 }, // Output pad bottom = 0
5077 { // Output pad bottom = 1
5078 Conv::template process_tile<1, 1, 6, 2, 1, 0>,
5079 Conv::template process_tile<1, 1, 6, 2, 1, 1>,
5080 Conv::template process_tile<1, 1, 6, 2, 1, 2>,
5081 Conv::template process_tile<1, 1, 6, 2, 1, 3>,
5082 }, // Output pad bottom = 1
5083 { // Output pad bottom = 2
5084 Conv::template process_tile<1, 1, 6, 2, 2, 0>,
5085 Conv::template process_tile<1, 1, 6, 2, 2, 1>,
5086 Conv::template process_tile<1, 1, 6, 2, 2, 2>,
5087 Conv::template process_tile<1, 1, 6, 2, 2, 3>,
5088 }, // Output pad bottom = 2
5089 { // Output pad bottom = 3
5090 Conv::template process_tile<1, 1, 6, 2, 3, 0>,
5091 Conv::template process_tile<1, 1, 6, 2, 3, 1>,
5092 Conv::template process_tile<1, 1, 6, 2, 3, 2>,
5093 Conv::template process_tile<1, 1, 6, 2, 3, 3>,
5094 }, // Output pad bottom = 3
5095 }, // Input pad right = 2
5096 { // Input pad right = 3
5097 { // Output pad bottom = 0
5098 Conv::template process_tile<1, 1, 6, 3, 0, 0>,
5099 Conv::template process_tile<1, 1, 6, 3, 0, 1>,
5100 Conv::template process_tile<1, 1, 6, 3, 0, 2>,
5101 Conv::template process_tile<1, 1, 6, 3, 0, 3>,
5102 }, // Output pad bottom = 0
5103 { // Output pad bottom = 1
5104 Conv::template process_tile<1, 1, 6, 3, 1, 0>,
5105 Conv::template process_tile<1, 1, 6, 3, 1, 1>,
5106 Conv::template process_tile<1, 1, 6, 3, 1, 2>,
5107 Conv::template process_tile<1, 1, 6, 3, 1, 3>,
5108 }, // Output pad bottom = 1
5109 { // Output pad bottom = 2
5110 Conv::template process_tile<1, 1, 6, 3, 2, 0>,
5111 Conv::template process_tile<1, 1, 6, 3, 2, 1>,
5112 Conv::template process_tile<1, 1, 6, 3, 2, 2>,
5113 Conv::template process_tile<1, 1, 6, 3, 2, 3>,
5114 }, // Output pad bottom = 2
5115 { // Output pad bottom = 3
5116 Conv::template process_tile<1, 1, 6, 3, 3, 0>,
5117 Conv::template process_tile<1, 1, 6, 3, 3, 1>,
5118 Conv::template process_tile<1, 1, 6, 3, 3, 2>,
5119 Conv::template process_tile<1, 1, 6, 3, 3, 3>,
5120 }, // Output pad bottom = 3
5121 }, // Input pad right = 3
5122 { // Input pad right = 4
5123 { // Output pad bottom = 0
5124 Conv::template process_tile<1, 1, 6, 4, 0, 0>,
5125 Conv::template process_tile<1, 1, 6, 4, 0, 1>,
5126 Conv::template process_tile<1, 1, 6, 4, 0, 2>,
5127 Conv::template process_tile<1, 1, 6, 4, 0, 3>,
5128 }, // Output pad bottom = 0
5129 { // Output pad bottom = 1
5130 Conv::template process_tile<1, 1, 6, 4, 1, 0>,
5131 Conv::template process_tile<1, 1, 6, 4, 1, 1>,
5132 Conv::template process_tile<1, 1, 6, 4, 1, 2>,
5133 Conv::template process_tile<1, 1, 6, 4, 1, 3>,
5134 }, // Output pad bottom = 1
5135 { // Output pad bottom = 2
5136 Conv::template process_tile<1, 1, 6, 4, 2, 0>,
5137 Conv::template process_tile<1, 1, 6, 4, 2, 1>,
5138 Conv::template process_tile<1, 1, 6, 4, 2, 2>,
5139 Conv::template process_tile<1, 1, 6, 4, 2, 3>,
5140 }, // Output pad bottom = 2
5141 { // Output pad bottom = 3
5142 Conv::template process_tile<1, 1, 6, 4, 3, 0>,
5143 Conv::template process_tile<1, 1, 6, 4, 3, 1>,
5144 Conv::template process_tile<1, 1, 6, 4, 3, 2>,
5145 Conv::template process_tile<1, 1, 6, 4, 3, 3>,
5146 }, // Output pad bottom = 3
5147 }, // Input pad right = 4
5148 { // Input pad right = 5
5149 { // Output pad bottom = 0
5150 Conv::template process_tile<1, 1, 6, 5, 0, 0>,
5151 Conv::template process_tile<1, 1, 6, 5, 0, 1>,
5152 Conv::template process_tile<1, 1, 6, 5, 0, 2>,
5153 Conv::template process_tile<1, 1, 6, 5, 0, 3>,
5154 }, // Output pad bottom = 0
5155 { // Output pad bottom = 1
5156 Conv::template process_tile<1, 1, 6, 5, 1, 0>,
5157 Conv::template process_tile<1, 1, 6, 5, 1, 1>,
5158 Conv::template process_tile<1, 1, 6, 5, 1, 2>,
5159 Conv::template process_tile<1, 1, 6, 5, 1, 3>,
5160 }, // Output pad bottom = 1
5161 { // Output pad bottom = 2
5162 Conv::template process_tile<1, 1, 6, 5, 2, 0>,
5163 Conv::template process_tile<1, 1, 6, 5, 2, 1>,
5164 Conv::template process_tile<1, 1, 6, 5, 2, 2>,
5165 Conv::template process_tile<1, 1, 6, 5, 2, 3>,
5166 }, // Output pad bottom = 2
5167 { // Output pad bottom = 3
5168 Conv::template process_tile<1, 1, 6, 5, 3, 0>,
5169 Conv::template process_tile<1, 1, 6, 5, 3, 1>,
5170 Conv::template process_tile<1, 1, 6, 5, 3, 2>,
5171 Conv::template process_tile<1, 1, 6, 5, 3, 3>,
5172 }, // Output pad bottom = 3
5173 }, // Input pad right = 5
5174 { // Input pad right = 6
5175 { // Output pad bottom = 0
5176 Conv::template process_tile<1, 1, 6, 6, 0, 0>,
5177 Conv::template process_tile<1, 1, 6, 6, 0, 1>,
5178 Conv::template process_tile<1, 1, 6, 6, 0, 2>,
5179 Conv::template process_tile<1, 1, 6, 6, 0, 3>,
5180 }, // Output pad bottom = 0
5181 { // Output pad bottom = 1
5182 Conv::template process_tile<1, 1, 6, 6, 1, 0>,
5183 Conv::template process_tile<1, 1, 6, 6, 1, 1>,
5184 Conv::template process_tile<1, 1, 6, 6, 1, 2>,
5185 Conv::template process_tile<1, 1, 6, 6, 1, 3>,
5186 }, // Output pad bottom = 1
5187 { // Output pad bottom = 2
5188 Conv::template process_tile<1, 1, 6, 6, 2, 0>,
5189 Conv::template process_tile<1, 1, 6, 6, 2, 1>,
5190 Conv::template process_tile<1, 1, 6, 6, 2, 2>,
5191 Conv::template process_tile<1, 1, 6, 6, 2, 3>,
5192 }, // Output pad bottom = 2
5193 { // Output pad bottom = 3
5194 Conv::template process_tile<1, 1, 6, 6, 3, 0>,
5195 Conv::template process_tile<1, 1, 6, 6, 3, 1>,
5196 Conv::template process_tile<1, 1, 6, 6, 3, 2>,
5197 Conv::template process_tile<1, 1, 6, 6, 3, 3>,
5198 }, // Output pad bottom = 3
5199 }, // Input pad right = 6
5200 }, // Input pad bottom = 6
5201 }, // Input pad left = 1
5202 }, // Input pad top = 1
5203};
5204
5205
5206template class DepthwiseConvolution<4, 4, 3, 3, 2, 2, float, float>;
5207} // namespace depthwise