1namespace dnnl {
2namespace impl {
3namespace gpu {
4namespace ocl {
5const char *ocl_post_ops_header = R"==(/******************************************************************************* )==""\n"
6R"==(* Copyright 2019-2021 Intel Corporation )==""\n"
7R"==(* )==""\n"
8R"==(* Licensed under the Apache License, Version 2.0 (the "License"); )==""\n"
9R"==(* you may not use this file except in compliance with the License. )==""\n"
10R"==(* You may obtain a copy of the License at )==""\n"
11R"==(* )==""\n"
12R"==(* http: )==""\n"
13R"==(* )==""\n"
14R"==(* Unless required by applicable law or agreed to in writing, software )==""\n"
15R"==(* distributed under the License is distributed on an "AS IS" BASIS, )==""\n"
16R"==(* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. )==""\n"
17R"==(* See the License for the specific language governing permissions and )==""\n"
18R"==(* limitations under the License. )==""\n"
19R"==(*******************************************************************************/ )==""\n"
20R"==(#ifndef GPU_OCL_OCL_POST_OPS_H )==""\n"
21R"==(#define GPU_OCL_OCL_POST_OPS_H )==""\n"
22R"==(#ifndef SUB_GROUP_SIZE )==""\n"
23R"==(#define SUB_GROUP_SIZE get_sub_group_size() )==""\n"
24R"==(#endif )==""\n"
25R"==(#if WITH_POST_OP )==""\n"
26R"==(#if !WITH_ELTWISE )==""\n"
27R"==(#undef WITH_ELTWISE )==""\n"
28R"==(#define WITH_ELTWISE 1 )==""\n"
29R"==(#endif )==""\n"
30R"==(#include "gpu/ocl/ocl_eltwise.h" )==""\n"
31R"==(#include "gpu/ocl/ocl_types.h" )==""\n"
32R"==(float fwd_Xnary(unsigned kind, unsigned algorithm, float x, float y, )==""\n"
33R"==(float alpha, float beta, float scale) { )==""\n"
34R"==(if (kind == PO_BINARY) { )==""\n"
35R"==(switch (algorithm) { )==""\n"
36R"==(case BINARY_ADD: return x + y; break; )==""\n"
37R"==(case BINARY_MUL: return x * y; break; )==""\n"
38R"==(case BINARY_MIN: return x < y ? x : y; break; )==""\n"
39R"==(case BINARY_MAX: return x > y ? x : y; break; )==""\n"
40R"==(case BINARY_DIV: return x / y; break; )==""\n"
41R"==(case BINARY_SUB: return x - y; break; )==""\n"
42R"==(case BINARY_GE: return x >= y; break; )==""\n"
43R"==(case BINARY_GT: return x > y; break; )==""\n"
44R"==(case BINARY_LE: return x <= y; break; )==""\n"
45R"==(case BINARY_LT: return x < y; break; )==""\n"
46R"==(case BINARY_EQ: return x == y; break; )==""\n"
47R"==(case BINARY_NE: return x != y; break; )==""\n"
48R"==(case RELU: )==""\n"
49R"==(return fwd_eltwise_common(RELU, x, y, beta, scale); )==""\n"
50R"==(break; )==""\n"
51R"==(default: return 0.f; )==""\n"
52R"==(} )==""\n"
53R"==(} else { )==""\n"
54R"==(return fwd_eltwise_common(algorithm, x, alpha, beta, scale); )==""\n"
55R"==(} )==""\n"
56R"==(} )==""\n"
57R"==(#define CONV_BIN_ARG_TO_FLOAT(idx, bin_arg_val) \ )==""\n"
58R"==(({ \ )==""\n"
59R"==(float ret_val; \ )==""\n"
60R"==(if (CONCAT3(PO_, idx, _BIN_ARG_DT_IS_BF16)) \ )==""\n"
61R"==(ret_val = cvt_bf16_to_f32(bin_arg_val); \ )==""\n"
62R"==(else \ )==""\n"
63R"==(ret_val = convert_float(bin_arg_val); \ )==""\n"
64R"==(\ )==""\n"
65R"==(ret_val; \ )==""\n"
66R"==(}) )==""\n"
67R"==(#define FWD_XNARY_GENERIC_DT(po_kind, algorithm, result, result_elem_dt, \ )==""\n"
68R"==(arg0_ptr, arg0_len, arg1_ptr, arg1_len, alpha, beta, scale) \ )==""\n"
69R"==({ \ )==""\n"
70R"==(const unsigned out_len = max((unsigned)arg0_len, (unsigned)arg1_len); \ )==""\n"
71R"==(result_elem_dt *res_ptr = (result_elem_dt *)(&result); \ )==""\n"
72R"==(unroll_for(unsigned idx = 0; idx < out_len; ++idx) { \ )==""\n"
73R"==(if (arg0_len == 1 && arg1_len == 1) { \ )==""\n"
74R"==(*res_ptr = fwd_Xnary(po_kind, algorithm, \ )==""\n"
75R"==(convert_float(*arg0_ptr), convert_float(*arg1_ptr), \ )==""\n"
76R"==(alpha, beta, scale); \ )==""\n"
77R"==(} else if (arg0_len == 1) { \ )==""\n"
78R"==(res_ptr[idx] = fwd_Xnary(po_kind, algorithm, \ )==""\n"
79R"==(convert_float(*arg0_ptr), \ )==""\n"
80R"==(convert_float(arg1_ptr[idx]), alpha, beta, scale); \ )==""\n"
81R"==(} else if (arg1_len == 1) { \ )==""\n"
82R"==(res_ptr[idx] = fwd_Xnary(po_kind, algorithm, \ )==""\n"
83R"==(convert_float(arg0_ptr[idx]), \ )==""\n"
84R"==(convert_float(*arg1_ptr), alpha, beta, scale); \ )==""\n"
85R"==(} else { \ )==""\n"
86R"==(res_ptr[idx] = fwd_Xnary(po_kind, algorithm, \ )==""\n"
87R"==(convert_float(arg0_ptr[idx]), \ )==""\n"
88R"==(convert_float(arg1_ptr[idx]), alpha, beta, scale); \ )==""\n"
89R"==(} \ )==""\n"
90R"==(} \ )==""\n"
91R"==(} )==""\n"
92R"==(#define FMA_BLOCK( \ )==""\n"
93R"==(block_size, nof_elems, acc_ptr, acc_elem_dt, a_ptr, a_elem_dt, b) \ )==""\n"
94R"==(unroll_for(; nof_elems >= block_size; acc_ptr += block_size, \ )==""\n"
95R"==(a_ptr += block_size, nof_elems -= block_size) { \ )==""\n"
96R"==(CONCAT2(acc_elem_dt, block_size) \ )==""\n"
97R"==(a_conv = CONCAT3(convert_, acc_elem_dt, block_size)( \ )==""\n"
98R"==(*((CONCAT2(a_elem_dt, block_size) *)a_ptr)); \ )==""\n"
99R"==(*((CONCAT2(acc_elem_dt, block_size) *)acc_ptr) = fma( \ )==""\n"
100R"==(a_conv, b, *((CONCAT2(acc_elem_dt, block_size) *)acc_ptr)); \ )==""\n"
101R"==(} )==""\n"
102R"==(#define FMA_MIXED(acc_nof_elems, a, a_elem_dt, b, acc, acc_elem_dt) \ )==""\n"
103R"==({ \ )==""\n"
104R"==(unsigned nof_elems = acc_nof_elems; \ )==""\n"
105R"==(a_elem_dt *a_ptr = (a_elem_dt *)(&a); \ )==""\n"
106R"==(acc_elem_dt *acc_ptr = (acc_elem_dt *)(&acc); \ )==""\n"
107R"==(FMA_BLOCK(8, nof_elems, acc_ptr, acc_elem_dt, a_ptr, a_elem_dt, b); \ )==""\n"
108R"==(FMA_BLOCK(4, nof_elems, acc_ptr, acc_elem_dt, a_ptr, a_elem_dt, b); \ )==""\n"
109R"==(FMA_BLOCK(2, nof_elems, acc_ptr, acc_elem_dt, a_ptr, a_elem_dt, b); \ )==""\n"
110R"==(if (nof_elems == 1) { *acc_ptr += (*a_ptr) * b; } \ )==""\n"
111R"==(} )==""\n"
112R"==(#define FILL_BIN_ARG_SERIAL(idx, dest_ptr, x0, x0_s, x1, x1_s, x1_incr, x2, \ )==""\n"
113R"==(x2_s, x3, x3_s, x4, x4_s, x5, x5_s) \ )==""\n"
114R"==(unroll_for(unsigned x0_idx = x0, bin_arg_offset = 0; x0_idx < x0 + x0_s; \ )==""\n"
115R"==(++x0_idx) { \ )==""\n"
116R"==(unroll_for(unsigned x1_idx = x1; x1_idx < x1 + x1_s; \ )==""\n"
117R"==(x1_idx += x1_incr) { \ )==""\n"
118R"==(unroll_for(unsigned x2_idx = x2; x2_idx < x2 + x2_s; ++x2_idx) { \ )==""\n"
119R"==(unroll_for(unsigned x3_idx = x3; x3_idx < x3 + x3_s; \ )==""\n"
120R"==(++x3_idx) { \ )==""\n"
121R"==(unroll_for(unsigned x4_idx = x4; x4_idx < x4 + x4_s; \ )==""\n"
122R"==(++x4_idx) { \ )==""\n"
123R"==(unroll_for(unsigned x5_idx = x5; x5_idx < x5 + x5_s; \ )==""\n"
124R"==(++x5_idx, ++bin_arg_offset) { \ )==""\n"
125R"==(const unsigned bin_arg_glob_off = OFF_MD( \ )==""\n"
126R"==(CONCAT3(PO_, idx, _BIN_ARG), \ )==""\n"
127R"==(x0_idx % CONCAT3(PO_, idx, _BIN_ARG_D0), \ )==""\n"
128R"==(x1_idx % CONCAT3(PO_, idx, _BIN_ARG_D1), \ )==""\n"
129R"==(x2_idx % CONCAT3(PO_, idx, _BIN_ARG_D2), \ )==""\n"
130R"==(x3_idx % CONCAT3(PO_, idx, _BIN_ARG_D3), \ )==""\n"
131R"==(x4_idx % CONCAT3(PO_, idx, _BIN_ARG_D4), \ )==""\n"
132R"==(x5_idx % CONCAT3(PO_, idx, _BIN_ARG_D5)); \ )==""\n"
133R"==(dest_ptr[bin_arg_offset] = CONV_BIN_ARG_TO_FLOAT( \ )==""\n"
134R"==(idx, \ )==""\n"
135R"==(CONCAT3(po_, idx, \ )==""\n"
136R"==(_binary_arg)[bin_arg_glob_off]); \ )==""\n"
137R"==(} \ )==""\n"
138R"==(} \ )==""\n"
139R"==(} \ )==""\n"
140R"==(} \ )==""\n"
141R"==(} \ )==""\n"
142R"==(} )==""\n"
143R"==(#define intel_sub_group_block_read_uc1 intel_sub_group_block_read_uc )==""\n"
144R"==(#define intel_sub_group_block_read_us1 intel_sub_group_block_read_us )==""\n"
145R"==(#define intel_sub_group_block_read1 intel_sub_group_block_read )==""\n"
146R"==(#define uchar1 uchar )==""\n"
147R"==(#define ushort1 ushort )==""\n"
148R"==(#define uint1 uint )==""\n"
149R"==(#define FILL_WITH_BLOCK_READ(idx, src_ptr, dst_ptr, nelem, data_type) \ )==""\n"
150R"==({ \ )==""\n"
151R"==(data_type tmp_storage[nelem]; \ )==""\n"
152R"==(if (sizeof(data_type) == 1) { \ )==""\n"
153R"==(*((CONCAT2(uchar, nelem) *)(&tmp_storage)) \ )==""\n"
154R"==(= (CONCAT2(intel_sub_group_block_read_uc, nelem)( \ )==""\n"
155R"==((__global uchar *)(src_ptr))); \ )==""\n"
156R"==(} \ )==""\n"
157R"==(if (sizeof(data_type) == 2) { \ )==""\n"
158R"==(*((CONCAT2(ushort, nelem) *)(&tmp_storage)) \ )==""\n"
159R"==(= CONCAT2(intel_sub_group_block_read_us, nelem)( \ )==""\n"
160R"==((__global ushort *)(src_ptr)); \ )==""\n"
161R"==(} \ )==""\n"
162R"==(if (sizeof(data_type) == 4) { \ )==""\n"
163R"==(*((CONCAT2(uint, nelem) *)(&tmp_storage)) \ )==""\n"
164R"==(= CONCAT2(intel_sub_group_block_read, nelem)( \ )==""\n"
165R"==((__global uint *)(src_ptr)); \ )==""\n"
166R"==(} \ )==""\n"
167R"==(unroll_for(unsigned s_index = 0; s_index < nelem; ++s_index) { \ )==""\n"
168R"==(dst_ptr[s_index] \ )==""\n"
169R"==(= CONV_BIN_ARG_TO_FLOAT(idx, tmp_storage[s_index]); \ )==""\n"
170R"==(} \ )==""\n"
171R"==(} )==""\n"
172R"==(#define X_NELEMS(x) ({ x / SUB_GROUP_SIZE; }) )==""\n"
173R"==(#define CONDITIONAL_FILL( \ )==""\n"
174R"==(idx, blocked_coord, nelem, src_ptr, dst_ptr, data_type) \ )==""\n"
175R"==(if (blocked_coord / SUB_GROUP_SIZE == nelem) \ )==""\n"
176R"==(FILL_WITH_BLOCK_READ(idx, src_ptr, dst_ptr, nelem, data_type); )==""\n"
177R"==(#define FILL_BIN_ARG_TRY_BLOCK(idx, dest_ptr, dest_size, x0, x0_s, x1, x1_s, \ )==""\n"
178R"==(x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s) \ )==""\n"
179R"==({ \ )==""\n"
180R"==(unroll_for(unsigned x0_idx = x0, arg_off = 0; x0_idx < x0 + x0_s; \ )==""\n"
181R"==(++x0_idx, arg_off += X_NELEMS(x1_s)) { \ )==""\n"
182R"==(const unsigned bin_arg_glob_off \ )==""\n"
183R"==(= OFF_MD(CONCAT3(PO_, idx, _BIN_ARG), \ )==""\n"
184R"==(x0_idx % CONCAT3(PO_, idx, _BIN_ARG_D0), \ )==""\n"
185R"==(x1 % CONCAT3(PO_, idx, _BIN_ARG_D1), \ )==""\n"
186R"==(x2 % CONCAT3(PO_, idx, _BIN_ARG_D2), \ )==""\n"
187R"==(x3 % CONCAT3(PO_, idx, _BIN_ARG_D3), \ )==""\n"
188R"==(x4 % CONCAT3(PO_, idx, _BIN_ARG_D4), \ )==""\n"
189R"==(x5 % CONCAT3(PO_, idx, _BIN_ARG_D5)); \ )==""\n"
190R"==(\ )==""\n"
191R"==(CONDITIONAL_FILL(idx, x1_s, 1, \ )==""\n"
192R"==((CONCAT3(po_, idx, _binary_arg) + bin_arg_glob_off), \ )==""\n"
193R"==((dest_ptr + arg_off), CONCAT3(PO_, idx, _BIN_ARG_DATA_T)); \ )==""\n"
194R"==(CONDITIONAL_FILL(idx, x1_s, 2, \ )==""\n"
195R"==((CONCAT3(po_, idx, _binary_arg) + bin_arg_glob_off), \ )==""\n"
196R"==((dest_ptr + arg_off), CONCAT3(PO_, idx, _BIN_ARG_DATA_T)); \ )==""\n"
197R"==(CONDITIONAL_FILL(idx, x1_s, 4, \ )==""\n"
198R"==((CONCAT3(po_, idx, _binary_arg) + bin_arg_glob_off), \ )==""\n"
199R"==((dest_ptr + arg_off), CONCAT3(PO_, idx, _BIN_ARG_DATA_T)); \ )==""\n"
200R"==(} \ )==""\n"
201R"==(} )==""\n"
202R"==(#define REPLICATE_DATA( \ )==""\n"
203R"==(dest_ptr, dest_size, x0_s, x1_s, x2_s, x3_s, x4_s, x5_s) \ )==""\n"
204R"==({ \ )==""\n"
205R"==(const unsigned copy_size \ )==""\n"
206R"==(= x0_s * X_NELEMS(x1_s) * x2_s * x3_s * x4_s * x5_s; \ )==""\n"
207R"==(unroll_for(unsigned fid = copy_size; fid < dest_size; ++fid) { \ )==""\n"
208R"==(*(dest_ptr + fid) = *(dest_ptr + (fid % copy_size)); \ )==""\n"
209R"==(} \ )==""\n"
210R"==(} )==""\n"
211R"==(#define IS_BURSTABLE(idx, x0, x0_s, x1, x1_s, x2, x2_s, x3, x3_s, x4, x4_s, \ )==""\n"
212R"==(x5, x5_s, is_burst) \ )==""\n"
213R"==(({ \ )==""\n"
214R"==(bool is_burstable = is_burst; \ )==""\n"
215R"==(if (x0_s > CONCAT3(PO_, idx, _BIN_ARG_D0) && x0_s > 1) \ )==""\n"
216R"==(is_burstable = false; \ )==""\n"
217R"==(if (x1_s > CONCAT3(PO_, idx, _BIN_ARG_D1) && x1_s > 1) \ )==""\n"
218R"==(is_burstable = false; \ )==""\n"
219R"==(if (x2_s > CONCAT3(PO_, idx, _BIN_ARG_D2) && x2_s > 1) \ )==""\n"
220R"==(is_burstable = false; \ )==""\n"
221R"==(if (x3_s > CONCAT3(PO_, idx, _BIN_ARG_D3) && x3_s > 1) \ )==""\n"
222R"==(is_burstable = false; \ )==""\n"
223R"==(if (x4_s > CONCAT3(PO_, idx, _BIN_ARG_D4) && x4_s > 1) \ )==""\n"
224R"==(is_burstable = false; \ )==""\n"
225R"==(if (x5_s > CONCAT3(PO_, idx, _BIN_ARG_D5) && x5_s > 1) \ )==""\n"
226R"==(is_burstable = false; \ )==""\n"
227R"==(if (CONCAT3(PO_, idx, _BIN_ARG_D0) * CONCAT3(PO_, idx, _BIN_ARG_D1) \ )==""\n"
228R"==(* CONCAT3(PO_, idx, _BIN_ARG_D2) \ )==""\n"
229R"==(* CONCAT3(PO_, idx, _BIN_ARG_D2) \ )==""\n"
230R"==(* CONCAT3(PO_, idx, _BIN_ARG_D3) \ )==""\n"
231R"==(* CONCAT3(PO_, idx, _BIN_ARG_D4) \ )==""\n"
232R"==(* CONCAT3(PO_, idx, _BIN_ARG_D5) \ )==""\n"
233R"==(== 1) \ )==""\n"
234R"==(is_burstable = false; \ )==""\n"
235R"==(\ )==""\n"
236R"==(is_burstable; \ )==""\n"
237R"==(}) )==""\n"
238R"==(#define BINARY_ARG_IS_SCALAR(idx) ({ false; }) )==""\n"
239R"==(#define APPLY_PO_BINARY(idx, accumulator, acc_elem_dt, x0, x0_s, x1, x1_s, \ )==""\n"
240R"==(x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, is_burst) \ )==""\n"
241R"==({ \ )==""\n"
242R"==(const unsigned bin_arg_size = BINARY_ARG_IS_SCALAR(idx) \ )==""\n"
243R"==(? 1 \ )==""\n"
244R"==(: sizeof(accumulator) / sizeof(acc_elem_dt); \ )==""\n"
245R"==(float bin_arg[bin_arg_size]; \ )==""\n"
246R"==(float *bin_arg_ptr = &bin_arg[0]; \ )==""\n"
247R"==(const bool use_burst_read = IS_BURSTABLE(idx, x0, x0_s, x1, x1_s, x2, \ )==""\n"
248R"==(x2_s, x3, x3_s, x4, x4_s, x5, x5_s, is_burst); \ )==""\n"
249R"==(const unsigned x1_jump = is_burst ? SUB_GROUP_SIZE : 1; \ )==""\n"
250R"==(if (use_burst_read) { \ )==""\n"
251R"==(FILL_BIN_ARG_TRY_BLOCK(idx, bin_arg_ptr, bin_arg_size, x0, x0_s, \ )==""\n"
252R"==(x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
253R"==(x5_s); \ )==""\n"
254R"==(} else { \ )==""\n"
255R"==(FILL_BIN_ARG_SERIAL(idx, bin_arg_ptr, x0, x0_s, (x1 + x1_incr), \ )==""\n"
256R"==(x1_s, x1_jump, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s); \ )==""\n"
257R"==(} \ )==""\n"
258R"==(REPLICATE_DATA(bin_arg_ptr, bin_arg_size, x0_s, x1_s, x2_s, x3_s, \ )==""\n"
259R"==(x4_s, x5_s); \ )==""\n"
260R"==(FWD_XNARY_GENERIC_DT(PO_BINARY, CONCAT3(PO_, idx, _ALG), accumulator, \ )==""\n"
261R"==(acc_elem_dt, ((acc_elem_dt *)(&accumulator)), \ )==""\n"
262R"==((sizeof(accumulator) / sizeof(acc_elem_dt)), bin_arg_ptr, \ )==""\n"
263R"==(bin_arg_size, 0.0f, 0.0f, 1.0f); \ )==""\n"
264R"==(} )==""\n"
265R"==(#define APPLY_PO_SUM(idx, accumulator, acc_elem_dt, sum_src, sum_elem_dt) \ )==""\n"
266R"==({ \ )==""\n"
267R"==(unsigned acc_size = sizeof(accumulator) / sizeof(acc_elem_dt); \ )==""\n"
268R"==(FMA_MIXED(acc_size, sum_src, sum_elem_dt, \ )==""\n"
269R"==(CONCAT3(PO_, idx, _SUM_SCALE), accumulator, acc_elem_dt); \ )==""\n"
270R"==(} )==""\n"
271R"==(#define APPLY_PO_ELTWISE(idx, accumulator, acc_elem_dt) \ )==""\n"
272R"==({ \ )==""\n"
273R"==(FWD_XNARY_GENERIC_DT(PO_ELTWISE, CONCAT3(PO_, idx, _ALG), accumulator, \ )==""\n"
274R"==(acc_elem_dt, ((acc_elem_dt *)(&accumulator)), \ )==""\n"
275R"==((sizeof(accumulator) / sizeof(acc_elem_dt)), \ )==""\n"
276R"==(((acc_elem_dt *)(&accumulator)), \ )==""\n"
277R"==((sizeof(accumulator) / sizeof(acc_elem_dt)), \ )==""\n"
278R"==(CONCAT3(PO_, idx, _ELTWISE_ALPHA), \ )==""\n"
279R"==(CONCAT3(PO_, idx, _ELTWISE_BETA), \ )==""\n"
280R"==(CONCAT3(PO_, idx, _ELTWISE_SCALE)); \ )==""\n"
281R"==(} )==""\n"
282R"==(#define APPLY_PO_STAGE(idx, accumulator, acc_elem_dt, sum_src, sum_elem_dt, \ )==""\n"
283R"==(x0, x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
284R"==(is_burst) \ )==""\n"
285R"==(switch (CONCAT3(PO_, idx, _KIND)) { \ )==""\n"
286R"==(case PO_BINARY: \ )==""\n"
287R"==(APPLY_PO_BINARY(idx, accumulator, acc_elem_dt, x0, x0_s, x1, x1_s, \ )==""\n"
288R"==(x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
289R"==(is_burst); \ )==""\n"
290R"==(break; \ )==""\n"
291R"==(case PO_ELTWISE: APPLY_PO_ELTWISE(idx, accumulator, acc_elem_dt); \ )==""\n"
292R"==(break; \ )==""\n"
293R"==(case PO_SUM: \ )==""\n"
294R"==(APPLY_PO_SUM(idx, accumulator, acc_elem_dt, sum_src, sum_elem_dt); \ )==""\n"
295R"==(break; \ )==""\n"
296R"==(} )==""\n"
297R"==(#if POST_OP_CHAIN_LENGTH == 0 )==""\n"
298R"==(#define EMPTY_POST_OPS(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
299R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
300R"==(is_burst) \ )==""\n"
301R"==({} )==""\n"
302R"==(#endif )==""\n"
303R"==(#if POST_OP_CHAIN_LENGTH > 0 )==""\n"
304R"==(#define APPLY_1_PO_STAGE(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
305R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
306R"==(is_burst) \ )==""\n"
307R"==({ \ )==""\n"
308R"==(APPLY_PO_STAGE(0, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
309R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
310R"==(x5_s, is_burst); \ )==""\n"
311R"==(} )==""\n"
312R"==(#endif )==""\n"
313R"==(#if POST_OP_CHAIN_LENGTH > 1 )==""\n"
314R"==(#define APPLY_2_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
315R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
316R"==(is_burst) \ )==""\n"
317R"==({ \ )==""\n"
318R"==(APPLY_1_PO_STAGE(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
319R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
320R"==(x5_s, is_burst); \ )==""\n"
321R"==(APPLY_PO_STAGE(1, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
322R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
323R"==(x5_s, is_burst); \ )==""\n"
324R"==(} )==""\n"
325R"==(#endif )==""\n"
326R"==(#if POST_OP_CHAIN_LENGTH > 2 )==""\n"
327R"==(#define APPLY_3_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
328R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
329R"==(is_burst) \ )==""\n"
330R"==({ \ )==""\n"
331R"==(APPLY_2_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
332R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
333R"==(x5_s, is_burst); \ )==""\n"
334R"==(APPLY_PO_STAGE(2, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
335R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
336R"==(x5_s, is_burst); \ )==""\n"
337R"==(} )==""\n"
338R"==(#endif )==""\n"
339R"==(#if POST_OP_CHAIN_LENGTH > 3 )==""\n"
340R"==(#define APPLY_4_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
341R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
342R"==(is_burst) \ )==""\n"
343R"==({ \ )==""\n"
344R"==(APPLY_3_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
345R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
346R"==(x5_s, is_burst); \ )==""\n"
347R"==(APPLY_PO_STAGE(3, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
348R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
349R"==(x5_s, is_burst); \ )==""\n"
350R"==(} )==""\n"
351R"==(#endif )==""\n"
352R"==(#if POST_OP_CHAIN_LENGTH > 4 )==""\n"
353R"==(#define APPLY_5_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
354R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
355R"==(is_burst) \ )==""\n"
356R"==({ \ )==""\n"
357R"==(APPLY_4_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
358R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
359R"==(x5_s, is_burst); \ )==""\n"
360R"==(APPLY_PO_STAGE(4, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
361R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
362R"==(x5_s, is_burst); \ )==""\n"
363R"==(} )==""\n"
364R"==(#endif )==""\n"
365R"==(#if POST_OP_CHAIN_LENGTH > 5 )==""\n"
366R"==(#define APPLY_6_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
367R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
368R"==(is_burst) \ )==""\n"
369R"==({ \ )==""\n"
370R"==(APPLY_5_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
371R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
372R"==(x5_s, is_burst); \ )==""\n"
373R"==(APPLY_PO_STAGE(5, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
374R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
375R"==(x5_s, is_burst); \ )==""\n"
376R"==(} )==""\n"
377R"==(#endif )==""\n"
378R"==(#if POST_OP_CHAIN_LENGTH > 6 )==""\n"
379R"==(#define APPLY_7_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
380R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
381R"==(is_burst) \ )==""\n"
382R"==({ \ )==""\n"
383R"==(APPLY_6_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
384R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
385R"==(x5_s, is_burst); \ )==""\n"
386R"==(APPLY_PO_STAGE(6, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
387R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
388R"==(x5_s, is_burst); \ )==""\n"
389R"==(} )==""\n"
390R"==(#endif )==""\n"
391R"==(#if POST_OP_CHAIN_LENGTH > 7 )==""\n"
392R"==(#define APPLY_8_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
393R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
394R"==(is_burst) \ )==""\n"
395R"==({ \ )==""\n"
396R"==(APPLY_7_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
397R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
398R"==(x5_s, is_burst); \ )==""\n"
399R"==(APPLY_PO_STAGE(7, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
400R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
401R"==(x5_s, is_burst); \ )==""\n"
402R"==(} )==""\n"
403R"==(#endif )==""\n"
404R"==(#if POST_OP_CHAIN_LENGTH > 8 )==""\n"
405R"==(#define APPLY_9_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
406R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
407R"==(is_burst) \ )==""\n"
408R"==({ \ )==""\n"
409R"==(APPLY_8_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
410R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
411R"==(x5_s, is_burst); \ )==""\n"
412R"==(APPLY_PO_STAGE(8, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
413R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
414R"==(x5_s, is_burst); \ )==""\n"
415R"==(} )==""\n"
416R"==(#endif )==""\n"
417R"==(#if POST_OP_CHAIN_LENGTH > 9 )==""\n"
418R"==(#define APPLY_10_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
419R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
420R"==(is_burst) \ )==""\n"
421R"==({ \ )==""\n"
422R"==(APPLY_9_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
423R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
424R"==(x5_s, is_burst); \ )==""\n"
425R"==(APPLY_PO_STAGE(9, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
426R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
427R"==(x5_s, is_burst); \ )==""\n"
428R"==(} )==""\n"
429R"==(#endif )==""\n"
430R"==(#if POST_OP_CHAIN_LENGTH > 10 )==""\n"
431R"==(#define APPLY_11_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
432R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
433R"==(is_burst) \ )==""\n"
434R"==({ \ )==""\n"
435R"==(APPLY_10_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
436R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
437R"==(x5_s, is_burst); \ )==""\n"
438R"==(APPLY_PO_STAGE(10, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
439R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
440R"==(x5_s, is_burst); \ )==""\n"
441R"==(} )==""\n"
442R"==(#endif )==""\n"
443R"==(#if POST_OP_CHAIN_LENGTH > 11 )==""\n"
444R"==(#define APPLY_12_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
445R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
446R"==(is_burst) \ )==""\n"
447R"==({ \ )==""\n"
448R"==(APPLY_11_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
449R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
450R"==(x5_s, is_burst); \ )==""\n"
451R"==(APPLY_PO_STAGE(11, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
452R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
453R"==(x5_s, is_burst); \ )==""\n"
454R"==(} )==""\n"
455R"==(#endif )==""\n"
456R"==(#if POST_OP_CHAIN_LENGTH > 12 )==""\n"
457R"==(#define APPLY_13_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
458R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
459R"==(is_burst) \ )==""\n"
460R"==({ \ )==""\n"
461R"==(APPLY_12_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
462R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
463R"==(x5_s, is_burst); \ )==""\n"
464R"==(APPLY_PO_STAGE(12, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
465R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
466R"==(x5_s, is_burst); \ )==""\n"
467R"==(} )==""\n"
468R"==(#endif )==""\n"
469R"==(#if POST_OP_CHAIN_LENGTH > 13 )==""\n"
470R"==(#define APPLY_14_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
471R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
472R"==(is_burst) \ )==""\n"
473R"==({ \ )==""\n"
474R"==(APPLY_13_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
475R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
476R"==(x5_s, is_burst); \ )==""\n"
477R"==(APPLY_PO_STAGE(13, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
478R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
479R"==(x5_s, is_burst); \ )==""\n"
480R"==(} )==""\n"
481R"==(#endif )==""\n"
482R"==(#if POST_OP_CHAIN_LENGTH > 14 )==""\n"
483R"==(#define APPLY_15_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
484R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
485R"==(is_burst) \ )==""\n"
486R"==({ \ )==""\n"
487R"==(APPLY_14_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
488R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
489R"==(x5_s, is_burst); \ )==""\n"
490R"==(APPLY_PO_STAGE(14, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
491R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
492R"==(x5_s, is_burst); \ )==""\n"
493R"==(} )==""\n"
494R"==(#endif )==""\n"
495R"==(#if POST_OP_CHAIN_LENGTH > 15 )==""\n"
496R"==(#define APPLY_16_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
497R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
498R"==(is_burst) \ )==""\n"
499R"==({ \ )==""\n"
500R"==(APPLY_15_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
501R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
502R"==(x5_s, is_burst); \ )==""\n"
503R"==(APPLY_PO_STAGE(15, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
504R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
505R"==(x5_s, is_burst); \ )==""\n"
506R"==(} )==""\n"
507R"==(#endif )==""\n"
508R"==(#if POST_OP_CHAIN_LENGTH > 16 )==""\n"
509R"==(#define APPLY_17_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
510R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
511R"==(is_burst) \ )==""\n"
512R"==({ \ )==""\n"
513R"==(APPLY_16_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
514R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
515R"==(x5_s, is_burst); \ )==""\n"
516R"==(APPLY_PO_STAGE(16, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
517R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
518R"==(x5_s, is_burst); \ )==""\n"
519R"==(} )==""\n"
520R"==(#endif )==""\n"
521R"==(#if POST_OP_CHAIN_LENGTH > 17 )==""\n"
522R"==(#define APPLY_18_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
523R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
524R"==(is_burst) \ )==""\n"
525R"==({ \ )==""\n"
526R"==(APPLY_17_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
527R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
528R"==(x5_s, is_burst); \ )==""\n"
529R"==(APPLY_PO_STAGE(17, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
530R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
531R"==(x5_s, is_burst); \ )==""\n"
532R"==(} )==""\n"
533R"==(#endif )==""\n"
534R"==(#if POST_OP_CHAIN_LENGTH > 18 )==""\n"
535R"==(#define APPLY_19_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
536R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
537R"==(is_burst) \ )==""\n"
538R"==({ \ )==""\n"
539R"==(APPLY_18_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
540R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
541R"==(x5_s, is_burst); \ )==""\n"
542R"==(APPLY_PO_STAGE(18, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
543R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
544R"==(x5_s, is_burst); \ )==""\n"
545R"==(} )==""\n"
546R"==(#endif )==""\n"
547R"==(#if POST_OP_CHAIN_LENGTH > 19 )==""\n"
548R"==(#define APPLY_20_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
549R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
550R"==(is_burst) \ )==""\n"
551R"==({ \ )==""\n"
552R"==(APPLY_19_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
553R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
554R"==(x5_s, is_burst); \ )==""\n"
555R"==(APPLY_PO_STAGE(19, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
556R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
557R"==(x5_s, is_burst); \ )==""\n"
558R"==(} )==""\n"
559R"==(#endif )==""\n"
560R"==(#if POST_OP_CHAIN_LENGTH > 20 )==""\n"
561R"==(#define APPLY_21_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
562R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
563R"==(is_burst) \ )==""\n"
564R"==({ \ )==""\n"
565R"==(APPLY_20_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
566R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
567R"==(x5_s, is_burst); \ )==""\n"
568R"==(APPLY_PO_STAGE(20, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
569R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
570R"==(x5_s, is_burst); \ )==""\n"
571R"==(} )==""\n"
572R"==(#endif )==""\n"
573R"==(#if POST_OP_CHAIN_LENGTH > 21 )==""\n"
574R"==(#define APPLY_22_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
575R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
576R"==(is_burst) \ )==""\n"
577R"==({ \ )==""\n"
578R"==(APPLY_21_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
579R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
580R"==(x5_s, is_burst); \ )==""\n"
581R"==(APPLY_PO_STAGE(21, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
582R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
583R"==(x5_s, is_burst); \ )==""\n"
584R"==(} )==""\n"
585R"==(#endif )==""\n"
586R"==(#if POST_OP_CHAIN_LENGTH > 22 )==""\n"
587R"==(#define APPLY_23_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
588R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
589R"==(is_burst) \ )==""\n"
590R"==({ \ )==""\n"
591R"==(APPLY_22_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
592R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
593R"==(x5_s, is_burst); \ )==""\n"
594R"==(APPLY_PO_STAGE(22, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
595R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
596R"==(x5_s, is_burst); \ )==""\n"
597R"==(} )==""\n"
598R"==(#endif )==""\n"
599R"==(#if POST_OP_CHAIN_LENGTH > 23 )==""\n"
600R"==(#define APPLY_24_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
601R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
602R"==(is_burst) \ )==""\n"
603R"==({ \ )==""\n"
604R"==(APPLY_23_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
605R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
606R"==(x5_s, is_burst); \ )==""\n"
607R"==(APPLY_PO_STAGE(23, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
608R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
609R"==(x5_s, is_burst); \ )==""\n"
610R"==(} )==""\n"
611R"==(#endif )==""\n"
612R"==(#if POST_OP_CHAIN_LENGTH > 24 )==""\n"
613R"==(#define APPLY_25_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
614R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
615R"==(is_burst) \ )==""\n"
616R"==({ \ )==""\n"
617R"==(APPLY_24_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
618R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
619R"==(x5_s, is_burst); \ )==""\n"
620R"==(APPLY_PO_STAGE(24, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
621R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
622R"==(x5_s, is_burst); \ )==""\n"
623R"==(} )==""\n"
624R"==(#endif )==""\n"
625R"==(#if POST_OP_CHAIN_LENGTH > 25 )==""\n"
626R"==(#define APPLY_26_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
627R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
628R"==(is_burst) \ )==""\n"
629R"==({ \ )==""\n"
630R"==(APPLY_25_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
631R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
632R"==(x5_s, is_burst); \ )==""\n"
633R"==(APPLY_PO_STAGE(25, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
634R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
635R"==(x5_s, is_burst); \ )==""\n"
636R"==(} )==""\n"
637R"==(#endif )==""\n"
638R"==(#if POST_OP_CHAIN_LENGTH > 26 )==""\n"
639R"==(#define APPLY_27_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
640R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
641R"==(is_burst) \ )==""\n"
642R"==({ \ )==""\n"
643R"==(APPLY_26_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
644R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
645R"==(x5_s, is_burst); \ )==""\n"
646R"==(APPLY_PO_STAGE(26, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
647R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
648R"==(x5_s, is_burst); \ )==""\n"
649R"==(} )==""\n"
650R"==(#endif )==""\n"
651R"==(#if POST_OP_CHAIN_LENGTH > 27 )==""\n"
652R"==(#define APPLY_28_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
653R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
654R"==(is_burst) \ )==""\n"
655R"==({ \ )==""\n"
656R"==(APPLY_27_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
657R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
658R"==(x5_s, is_burst); \ )==""\n"
659R"==(APPLY_PO_STAGE(27, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
660R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
661R"==(x5_s, is_burst); \ )==""\n"
662R"==(} )==""\n"
663R"==(#endif )==""\n"
664R"==(#if POST_OP_CHAIN_LENGTH > 28 )==""\n"
665R"==(#define APPLY_29_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
666R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
667R"==(is_burst) \ )==""\n"
668R"==({ \ )==""\n"
669R"==(APPLY_28_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
670R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
671R"==(x5_s, is_burst); \ )==""\n"
672R"==(APPLY_PO_STAGE(28, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
673R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
674R"==(x5_s, is_burst); \ )==""\n"
675R"==(} )==""\n"
676R"==(#endif )==""\n"
677R"==(#if POST_OP_CHAIN_LENGTH > 29 )==""\n"
678R"==(#define APPLY_30_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
679R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
680R"==(is_burst) \ )==""\n"
681R"==({ \ )==""\n"
682R"==(APPLY_29_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
683R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
684R"==(x5_s, is_burst); \ )==""\n"
685R"==(APPLY_PO_STAGE(29, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
686R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
687R"==(x5_s, is_burst); \ )==""\n"
688R"==(} )==""\n"
689R"==(#endif )==""\n"
690R"==(#if POST_OP_CHAIN_LENGTH > 30 )==""\n"
691R"==(#define APPLY_31_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
692R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
693R"==(is_burst) \ )==""\n"
694R"==({ \ )==""\n"
695R"==(APPLY_30_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
696R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
697R"==(x5_s, is_burst); \ )==""\n"
698R"==(APPLY_PO_STAGE(30, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
699R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
700R"==(x5_s, is_burst); \ )==""\n"
701R"==(} )==""\n"
702R"==(#endif )==""\n"
703R"==(#if POST_OP_CHAIN_LENGTH > 31 )==""\n"
704R"==(#define APPLY_32_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
705R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
706R"==(is_burst) \ )==""\n"
707R"==({ \ )==""\n"
708R"==(APPLY_31_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
709R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
710R"==(x5_s, is_burst); \ )==""\n"
711R"==(APPLY_PO_STAGE(31, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
712R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
713R"==(x5_s, is_burst); \ )==""\n"
714R"==(} )==""\n"
715R"==(#endif )==""\n"
716R"==(#if POST_OP_CHAIN_LENGTH == 0 )==""\n"
717R"==(#define APPLY_ALL_PO_STAGES EMPTY_POST_OPS )==""\n"
718R"==(#elif POST_OP_CHAIN_LENGTH == 1 )==""\n"
719R"==(#define APPLY_ALL_PO_STAGES APPLY_1_PO_STAGE )==""\n"
720R"==(#elif POST_OP_CHAIN_LENGTH == 2 )==""\n"
721R"==(#define APPLY_ALL_PO_STAGES APPLY_2_PO_STAGES )==""\n"
722R"==(#elif POST_OP_CHAIN_LENGTH == 3 )==""\n"
723R"==(#define APPLY_ALL_PO_STAGES APPLY_3_PO_STAGES )==""\n"
724R"==(#elif POST_OP_CHAIN_LENGTH == 4 )==""\n"
725R"==(#define APPLY_ALL_PO_STAGES APPLY_4_PO_STAGES )==""\n"
726R"==(#elif POST_OP_CHAIN_LENGTH == 5 )==""\n"
727R"==(#define APPLY_ALL_PO_STAGES APPLY_5_PO_STAGES )==""\n"
728R"==(#elif POST_OP_CHAIN_LENGTH == 6 )==""\n"
729R"==(#define APPLY_ALL_PO_STAGES APPLY_6_PO_STAGES )==""\n"
730R"==(#elif POST_OP_CHAIN_LENGTH == 7 )==""\n"
731R"==(#define APPLY_ALL_PO_STAGES APPLY_7_PO_STAGES )==""\n"
732R"==(#elif POST_OP_CHAIN_LENGTH == 8 )==""\n"
733R"==(#define APPLY_ALL_PO_STAGES APPLY_8_PO_STAGES )==""\n"
734R"==(#elif POST_OP_CHAIN_LENGTH == 9 )==""\n"
735R"==(#define APPLY_ALL_PO_STAGES APPLY_9_PO_STAGES )==""\n"
736R"==(#elif POST_OP_CHAIN_LENGTH == 10 )==""\n"
737R"==(#define APPLY_ALL_PO_STAGES APPLY_10_PO_STAGES )==""\n"
738R"==(#elif POST_OP_CHAIN_LENGTH == 11 )==""\n"
739R"==(#define APPLY_ALL_PO_STAGES APPLY_11_PO_STAGES )==""\n"
740R"==(#elif POST_OP_CHAIN_LENGTH == 12 )==""\n"
741R"==(#define APPLY_ALL_PO_STAGES APPLY_12_PO_STAGES )==""\n"
742R"==(#elif POST_OP_CHAIN_LENGTH == 13 )==""\n"
743R"==(#define APPLY_ALL_PO_STAGES APPLY_13_PO_STAGES )==""\n"
744R"==(#elif POST_OP_CHAIN_LENGTH == 14 )==""\n"
745R"==(#define APPLY_ALL_PO_STAGES APPLY_14_PO_STAGES )==""\n"
746R"==(#elif POST_OP_CHAIN_LENGTH == 15 )==""\n"
747R"==(#define APPLY_ALL_PO_STAGES APPLY_15_PO_STAGES )==""\n"
748R"==(#elif POST_OP_CHAIN_LENGTH == 16 )==""\n"
749R"==(#define APPLY_ALL_PO_STAGES APPLY_16_PO_STAGES )==""\n"
750R"==(#elif POST_OP_CHAIN_LENGTH == 17 )==""\n"
751R"==(#define APPLY_ALL_PO_STAGES APPLY_17_PO_STAGES )==""\n"
752R"==(#elif POST_OP_CHAIN_LENGTH == 18 )==""\n"
753R"==(#define APPLY_ALL_PO_STAGES APPLY_18_PO_STAGES )==""\n"
754R"==(#elif POST_OP_CHAIN_LENGTH == 19 )==""\n"
755R"==(#define APPLY_ALL_PO_STAGES APPLY_19_PO_STAGES )==""\n"
756R"==(#elif POST_OP_CHAIN_LENGTH == 20 )==""\n"
757R"==(#define APPLY_ALL_PO_STAGES APPLY_20_PO_STAGES )==""\n"
758R"==(#elif POST_OP_CHAIN_LENGTH == 21 )==""\n"
759R"==(#define APPLY_ALL_PO_STAGES APPLY_21_PO_STAGES )==""\n"
760R"==(#elif POST_OP_CHAIN_LENGTH == 22 )==""\n"
761R"==(#define APPLY_ALL_PO_STAGES APPLY_22_PO_STAGES )==""\n"
762R"==(#elif POST_OP_CHAIN_LENGTH == 23 )==""\n"
763R"==(#define APPLY_ALL_PO_STAGES APPLY_23_PO_STAGES )==""\n"
764R"==(#elif POST_OP_CHAIN_LENGTH == 24 )==""\n"
765R"==(#define APPLY_ALL_PO_STAGES APPLY_24_PO_STAGES )==""\n"
766R"==(#elif POST_OP_CHAIN_LENGTH == 25 )==""\n"
767R"==(#define APPLY_ALL_PO_STAGES APPLY_25_PO_STAGES )==""\n"
768R"==(#elif POST_OP_CHAIN_LENGTH == 26 )==""\n"
769R"==(#define APPLY_ALL_PO_STAGES APPLY_26_PO_STAGES )==""\n"
770R"==(#elif POST_OP_CHAIN_LENGTH == 27 )==""\n"
771R"==(#define APPLY_ALL_PO_STAGES APPLY_27_PO_STAGES )==""\n"
772R"==(#elif POST_OP_CHAIN_LENGTH == 28 )==""\n"
773R"==(#define APPLY_ALL_PO_STAGES APPLY_28_PO_STAGES )==""\n"
774R"==(#elif POST_OP_CHAIN_LENGTH == 29 )==""\n"
775R"==(#define APPLY_ALL_PO_STAGES APPLY_29_PO_STAGES )==""\n"
776R"==(#elif POST_OP_CHAIN_LENGTH == 30 )==""\n"
777R"==(#define APPLY_ALL_PO_STAGES APPLY_30_PO_STAGES )==""\n"
778R"==(#elif POST_OP_CHAIN_LENGTH == 31 )==""\n"
779R"==(#define APPLY_ALL_PO_STAGES APPLY_31_PO_STAGES )==""\n"
780R"==(#elif POST_OP_CHAIN_LENGTH == 32 )==""\n"
781R"==(#define APPLY_ALL_PO_STAGES APPLY_32_PO_STAGES )==""\n"
782R"==(#endif )==""\n"
783R"==(#define APPLY_POST_OPS_BL(accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
784R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, x5_s, \ )==""\n"
785R"==(is_burst) \ )==""\n"
786R"==({ \ )==""\n"
787R"==(APPLY_ALL_PO_STAGES(accumulator, acc_elem_dt, sum_src, sum_elem_dt, \ )==""\n"
788R"==(x0, x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
789R"==(x5_s, is_burst); \ )==""\n"
790R"==(/*APPLY_PO_STAGE(0, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
791R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
792R"==(x5_s, is_burst); \ )==""\n"
793R"==(APPLY_PO_STAGE(1, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
794R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
795R"==(x5_s, is_burst); \ )==""\n"
796R"==(APPLY_PO_STAGE(2, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
797R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
798R"==(x5_s, is_burst); \ )==""\n"
799R"==(APPLY_PO_STAGE(3, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
800R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
801R"==(x5_s, is_burst); \ )==""\n"
802R"==(APPLY_PO_STAGE(4, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
803R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
804R"==(x5_s, is_burst); \ )==""\n"
805R"==(APPLY_PO_STAGE(5, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
806R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
807R"==(x5_s, is_burst); \ )==""\n"
808R"==(APPLY_PO_STAGE(6, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
809R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
810R"==(x5_s, is_burst); \ )==""\n"
811R"==(APPLY_PO_STAGE(7, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
812R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
813R"==(x5_s, is_burst); \ )==""\n"
814R"==(APPLY_PO_STAGE(8, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
815R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
816R"==(x5_s, is_burst); \ )==""\n"
817R"==(APPLY_PO_STAGE(9, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
818R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
819R"==(x5_s, is_burst); \ )==""\n"
820R"==(APPLY_PO_STAGE(10, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
821R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
822R"==(x5_s, is_burst); \ )==""\n"
823R"==(APPLY_PO_STAGE(11, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
824R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
825R"==(x5_s, is_burst); \ )==""\n"
826R"==(APPLY_PO_STAGE(12, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
827R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
828R"==(x5_s, is_burst); \ )==""\n"
829R"==(APPLY_PO_STAGE(13, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
830R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
831R"==(x5_s, is_burst); \ )==""\n"
832R"==(APPLY_PO_STAGE(14, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
833R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
834R"==(x5_s, is_burst); \ )==""\n"
835R"==(APPLY_PO_STAGE(15, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
836R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
837R"==(x5_s, is_burst); \ )==""\n"
838R"==(APPLY_PO_STAGE(16, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
839R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
840R"==(x5_s, is_burst); \ )==""\n"
841R"==(APPLY_PO_STAGE(17, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
842R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
843R"==(x5_s, is_burst); \ )==""\n"
844R"==(APPLY_PO_STAGE(18, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
845R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
846R"==(x5_s, is_burst); \ )==""\n"
847R"==(APPLY_PO_STAGE(19, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
848R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
849R"==(x5_s, is_burst); \ )==""\n"
850R"==(APPLY_PO_STAGE(20, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
851R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
852R"==(x5_s, is_burst); \ )==""\n"
853R"==(APPLY_PO_STAGE(21, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
854R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
855R"==(x5_s, is_burst); \ )==""\n"
856R"==(APPLY_PO_STAGE(22, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
857R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
858R"==(x5_s, is_burst); \ )==""\n"
859R"==(APPLY_PO_STAGE(23, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
860R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
861R"==(x5_s, is_burst); \ )==""\n"
862R"==(APPLY_PO_STAGE(24, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
863R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
864R"==(x5_s, is_burst); \ )==""\n"
865R"==(APPLY_PO_STAGE(25, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
866R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
867R"==(x5_s, is_burst); \ )==""\n"
868R"==(APPLY_PO_STAGE(26, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
869R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
870R"==(x5_s, is_burst); \ )==""\n"
871R"==(APPLY_PO_STAGE(27, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
872R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
873R"==(x5_s, is_burst); \ )==""\n"
874R"==(APPLY_PO_STAGE(28, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
875R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
876R"==(x5_s, is_burst); \ )==""\n"
877R"==(APPLY_PO_STAGE(29, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
878R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
879R"==(x5_s, is_burst); \ )==""\n"
880R"==(APPLY_PO_STAGE(30, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
881R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
882R"==(x5_s, is_burst); \ )==""\n"
883R"==(APPLY_PO_STAGE(31, accumulator, acc_elem_dt, sum_src, sum_elem_dt, x0, \ )==""\n"
884R"==(x0_s, x1, x1_s, x1_incr, x2, x2_s, x3, x3_s, x4, x4_s, x5, \ )==""\n"
885R"==(x5_s, is_burst); */ \ )==""\n"
886R"==(} )==""\n"
887R"==(#define APPLY_POST_OPS_TRY_BURST(accumulator, acc_elem_dt, sum_src, \ )==""\n"
888R"==(sum_elem_dt, mb_start, mb_size, oc_start, oc_size, oc_serial_incr) \ )==""\n"
889R"==(APPLY_POST_OPS_BL(accumulator, acc_elem_dt, sum_src, sum_elem_dt, \ )==""\n"
890R"==(mb_start, mb_size, oc_start, oc_size, oc_serial_incr, 0, 1, 0, 1, \ )==""\n"
891R"==(0, 1, 0, 1, true) )==""\n"
892R"==(#define APPLY_POST_OPS_SERIAL(accumulator, acc_elem_dt, sum_src, sum_elem_dt, \ )==""\n"
893R"==(mb_start, mb_size, oc_start, oc_size, d2_start, d2_size, d3_start, \ )==""\n"
894R"==(d3_size, d4_start, d4_size, d5_start, d5_size) \ )==""\n"
895R"==(APPLY_POST_OPS_BL(accumulator, acc_elem_dt, sum_src, sum_elem_dt, \ )==""\n"
896R"==(mb_start, mb_size, oc_start, oc_size, 0, d2_start, d2_size, \ )==""\n"
897R"==(d3_start, d3_size, d4_start, d4_size, d5_start, d5_size, false) )==""\n"
898R"==(#define APPLY_POST_OPS_SERIAL_BINARY_2D(accumulator, acc_elem_dt, sum_src, \ )==""\n"
899R"==(sum_elem_dt, mb_start, mb_size, oc_start, oc_size) \ )==""\n"
900R"==(APPLY_POST_OPS_BL(accumulator, acc_elem_dt, sum_src, sum_elem_dt, \ )==""\n"
901R"==(mb_start, mb_size, oc_start, oc_size, 0, 0, 1, 0, 1, 0, 1, 0, 1, \ )==""\n"
902R"==(false) )==""\n"
903R"==(#else )==""\n"
904R"==(#define APPLY_POST_OPS_SERIAL(accumulator, acc_elem_dt, sum_src, sum_elem_dt, \ )==""\n"
905R"==(mb_start, mb_size, oc_start, oc_size, d2_start, d2_size, d3_start, \ )==""\n"
906R"==(d3_size, d4_start, d4_size, d5_start, d5_size) \ )==""\n"
907R"==({} )==""\n"
908R"==(#define APPLY_POST_OPS_SERIAL_BINARY_2D(accumulator, acc_elem_dt, sum_src, \ )==""\n"
909R"==(sum_elem_dt, mb_start, mb_size, oc_start, oc_size) \ )==""\n"
910R"==({} )==""\n"
911R"==(#define APPLY_POST_OPS_TRY_BURST(accumulator, acc_elem_dt, sum_src, \ )==""\n"
912R"==(sum_elem_dt, mb_start, mb_size, oc_start, oc_size, oc_serial_incr) \ )==""\n"
913R"==({} )==""\n"
914R"==(#endif )==""\n"
915R"==(#endif )==""\n"
916R"==()==";
917}
918}
919}
920}