To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at https://github.com/sonic-visualiser/sv-dependency-builds .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / src / fftw-3.3.8 / dft / scalar / codelets / t2_10.c @ 167:bd3cc4d1df30

History | View | Annotate | Download (13.9 KB)

1
/*
2
 * Copyright (c) 2003, 2007-14 Matteo Frigo
3
 * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
4
 *
5
 * This program is free software; you can redistribute it and/or modify
6
 * it under the terms of the GNU General Public License as published by
7
 * the Free Software Foundation; either version 2 of the License, or
8
 * (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18
 *
19
 */
20

    
21
/* This file was automatically generated --- DO NOT EDIT */
22
/* Generated on Thu May 24 08:04:25 EDT 2018 */
23

    
24
#include "dft/codelet-dft.h"
25

    
26
#if defined(ARCH_PREFERS_FMA) || defined(ISA_EXTENSION_PREFERS_FMA)
27

    
28
/* Generated by: ../../../genfft/gen_twiddle.native -fma -compact -variables 4 -pipeline-latency 4 -twiddle-log3 -precompute-twiddles -n 10 -name t2_10 -include dft/scalar/t.h */
29

    
30
/*
31
 * This function contains 114 FP additions, 94 FP multiplications,
32
 * (or, 48 additions, 28 multiplications, 66 fused multiply/add),
33
 * 63 stack variables, 4 constants, and 40 memory accesses
34
 */
35
#include "dft/scalar/t.h"
36

    
37
static void t2_10(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
38
{
39
     DK(KP951056516, +0.951056516295153572116439333379382143405698634);
40
     DK(KP559016994, +0.559016994374947424102293417182819058860154590);
41
     DK(KP618033988, +0.618033988749894848204586834365638117720309180);
42
     DK(KP250000000, +0.250000000000000000000000000000000000000000000);
43
     {
44
          INT m;
45
          for (m = mb, W = W + (mb * 6); m < me; m = m + 1, ri = ri + ms, ii = ii + ms, W = W + 6, MAKE_VOLATILE_STRIDE(20, rs)) {
46
               E T2, T3, T8, Tc, T5, T6, Tl, T7, TB, TF, T12, TY, To, Ts, Tw;
47
               E Tb, Td, Th;
48
               {
49
                    E TA, TX, TE, T11, Ta, T4;
50
                    T2 = W[0];
51
                    T3 = W[2];
52
                    T4 = T2 * T3;
53
                    T8 = W[4];
54
                    TA = T2 * T8;
55
                    TX = T3 * T8;
56
                    Tc = W[5];
57
                    TE = T2 * Tc;
58
                    T11 = T3 * Tc;
59
                    T5 = W[1];
60
                    T6 = W[3];
61
                    Ta = T2 * T6;
62
                    Tl = FMA(T5, T6, T4);
63
                    T7 = FNMS(T5, T6, T4);
64
                    TB = FMA(T5, Tc, TA);
65
                    TF = FNMS(T5, T8, TE);
66
                    T12 = FNMS(T6, T8, T11);
67
                    TY = FMA(T6, Tc, TX);
68
                    {
69
                         E Tr, Tv, T9, Tg;
70
                         Tr = Tl * T8;
71
                         Tv = Tl * Tc;
72
                         To = FNMS(T5, T3, Ta);
73
                         Ts = FMA(To, Tc, Tr);
74
                         Tw = FNMS(To, T8, Tv);
75
                         T9 = T7 * T8;
76
                         Tg = T7 * Tc;
77
                         Tb = FMA(T5, T3, Ta);
78
                         Td = FMA(Tb, Tc, T9);
79
                         Th = FNMS(Tb, T8, Tg);
80
                    }
81
               }
82
               {
83
                    E Tk, T1c, T24, T2d, TW, T19, T1a, T1P, T1Q, T1Z, T1g, T1h, T1i, T1C, T1H;
84
                    E T2f, Tz, TM, TN, T1S, T1T, T1Y, T1d, T1e, T1f, T1r, T1w, T2e;
85
                    {
86
                         E T1, T23, Te, Tf, Ti, T21, Tj, T22;
87
                         T1 = ri[0];
88
                         T23 = ii[0];
89
                         Te = ri[WS(rs, 5)];
90
                         Tf = Td * Te;
91
                         Ti = ii[WS(rs, 5)];
92
                         T21 = Td * Ti;
93
                         Tj = FMA(Th, Ti, Tf);
94
                         Tk = T1 - Tj;
95
                         T1c = T1 + Tj;
96
                         T22 = FNMS(Th, Te, T21);
97
                         T24 = T22 + T23;
98
                         T2d = T23 - T22;
99
                    }
100
                    {
101
                         E TR, T1z, T18, T1G, TV, T1B, T14, T1E;
102
                         {
103
                              E TO, TP, TQ, T1y;
104
                              TO = ri[WS(rs, 4)];
105
                              TP = T7 * TO;
106
                              TQ = ii[WS(rs, 4)];
107
                              T1y = T7 * TQ;
108
                              TR = FMA(Tb, TQ, TP);
109
                              T1z = FNMS(Tb, TO, T1y);
110
                         }
111
                         {
112
                              E T15, T16, T17, T1F;
113
                              T15 = ri[WS(rs, 1)];
114
                              T16 = T2 * T15;
115
                              T17 = ii[WS(rs, 1)];
116
                              T1F = T2 * T17;
117
                              T18 = FMA(T5, T17, T16);
118
                              T1G = FNMS(T5, T15, T1F);
119
                         }
120
                         {
121
                              E TS, TT, TU, T1A;
122
                              TS = ri[WS(rs, 9)];
123
                              TT = T8 * TS;
124
                              TU = ii[WS(rs, 9)];
125
                              T1A = T8 * TU;
126
                              TV = FMA(Tc, TU, TT);
127
                              T1B = FNMS(Tc, TS, T1A);
128
                         }
129
                         {
130
                              E TZ, T10, T13, T1D;
131
                              TZ = ri[WS(rs, 6)];
132
                              T10 = TY * TZ;
133
                              T13 = ii[WS(rs, 6)];
134
                              T1D = TY * T13;
135
                              T14 = FMA(T12, T13, T10);
136
                              T1E = FNMS(T12, TZ, T1D);
137
                         }
138
                         TW = TR - TV;
139
                         T19 = T14 - T18;
140
                         T1a = TW + T19;
141
                         T1P = T1z + T1B;
142
                         T1Q = T1E + T1G;
143
                         T1Z = T1P + T1Q;
144
                         T1g = TR + TV;
145
                         T1h = T14 + T18;
146
                         T1i = T1g + T1h;
147
                         T1C = T1z - T1B;
148
                         T1H = T1E - T1G;
149
                         T2f = T1C + T1H;
150
                    }
151
                    {
152
                         E Tq, T1o, TL, T1v, Ty, T1q, TH, T1t;
153
                         {
154
                              E Tm, Tn, Tp, T1n;
155
                              Tm = ri[WS(rs, 2)];
156
                              Tn = Tl * Tm;
157
                              Tp = ii[WS(rs, 2)];
158
                              T1n = Tl * Tp;
159
                              Tq = FMA(To, Tp, Tn);
160
                              T1o = FNMS(To, Tm, T1n);
161
                         }
162
                         {
163
                              E TI, TJ, TK, T1u;
164
                              TI = ri[WS(rs, 3)];
165
                              TJ = T3 * TI;
166
                              TK = ii[WS(rs, 3)];
167
                              T1u = T3 * TK;
168
                              TL = FMA(T6, TK, TJ);
169
                              T1v = FNMS(T6, TI, T1u);
170
                         }
171
                         {
172
                              E Tt, Tu, Tx, T1p;
173
                              Tt = ri[WS(rs, 7)];
174
                              Tu = Ts * Tt;
175
                              Tx = ii[WS(rs, 7)];
176
                              T1p = Ts * Tx;
177
                              Ty = FMA(Tw, Tx, Tu);
178
                              T1q = FNMS(Tw, Tt, T1p);
179
                         }
180
                         {
181
                              E TC, TD, TG, T1s;
182
                              TC = ri[WS(rs, 8)];
183
                              TD = TB * TC;
184
                              TG = ii[WS(rs, 8)];
185
                              T1s = TB * TG;
186
                              TH = FMA(TF, TG, TD);
187
                              T1t = FNMS(TF, TC, T1s);
188
                         }
189
                         Tz = Tq - Ty;
190
                         TM = TH - TL;
191
                         TN = Tz + TM;
192
                         T1S = T1o + T1q;
193
                         T1T = T1t + T1v;
194
                         T1Y = T1S + T1T;
195
                         T1d = Tq + Ty;
196
                         T1e = TH + TL;
197
                         T1f = T1d + T1e;
198
                         T1r = T1o - T1q;
199
                         T1w = T1t - T1v;
200
                         T2e = T1r + T1w;
201
                    }
202
                    {
203
                         E T1l, T1b, T1k, T1J, T1L, T1x, T1I, T1K, T1m;
204
                         T1l = TN - T1a;
205
                         T1b = TN + T1a;
206
                         T1k = FNMS(KP250000000, T1b, Tk);
207
                         T1x = T1r - T1w;
208
                         T1I = T1C - T1H;
209
                         T1J = FMA(KP618033988, T1I, T1x);
210
                         T1L = FNMS(KP618033988, T1x, T1I);
211
                         ri[WS(rs, 5)] = Tk + T1b;
212
                         T1K = FNMS(KP559016994, T1l, T1k);
213
                         ri[WS(rs, 7)] = FNMS(KP951056516, T1L, T1K);
214
                         ri[WS(rs, 3)] = FMA(KP951056516, T1L, T1K);
215
                         T1m = FMA(KP559016994, T1l, T1k);
216
                         ri[WS(rs, 9)] = FNMS(KP951056516, T1J, T1m);
217
                         ri[WS(rs, 1)] = FMA(KP951056516, T1J, T1m);
218
                    }
219
                    {
220
                         E T2i, T2g, T2h, T2m, T2o, T2k, T2l, T2n, T2j;
221
                         T2i = T2e - T2f;
222
                         T2g = T2e + T2f;
223
                         T2h = FNMS(KP250000000, T2g, T2d);
224
                         T2k = Tz - TM;
225
                         T2l = TW - T19;
226
                         T2m = FMA(KP618033988, T2l, T2k);
227
                         T2o = FNMS(KP618033988, T2k, T2l);
228
                         ii[WS(rs, 5)] = T2g + T2d;
229
                         T2n = FNMS(KP559016994, T2i, T2h);
230
                         ii[WS(rs, 3)] = FNMS(KP951056516, T2o, T2n);
231
                         ii[WS(rs, 7)] = FMA(KP951056516, T2o, T2n);
232
                         T2j = FMA(KP559016994, T2i, T2h);
233
                         ii[WS(rs, 1)] = FNMS(KP951056516, T2m, T2j);
234
                         ii[WS(rs, 9)] = FMA(KP951056516, T2m, T2j);
235
                    }
236
                    {
237
                         E T1N, T1j, T1M, T1V, T1X, T1R, T1U, T1W, T1O;
238
                         T1N = T1f - T1i;
239
                         T1j = T1f + T1i;
240
                         T1M = FNMS(KP250000000, T1j, T1c);
241
                         T1R = T1P - T1Q;
242
                         T1U = T1S - T1T;
243
                         T1V = FNMS(KP618033988, T1U, T1R);
244
                         T1X = FMA(KP618033988, T1R, T1U);
245
                         ri[0] = T1c + T1j;
246
                         T1W = FMA(KP559016994, T1N, T1M);
247
                         ri[WS(rs, 4)] = FNMS(KP951056516, T1X, T1W);
248
                         ri[WS(rs, 6)] = FMA(KP951056516, T1X, T1W);
249
                         T1O = FNMS(KP559016994, T1N, T1M);
250
                         ri[WS(rs, 2)] = FNMS(KP951056516, T1V, T1O);
251
                         ri[WS(rs, 8)] = FMA(KP951056516, T1V, T1O);
252
                    }
253
                    {
254
                         E T26, T20, T25, T2a, T2c, T28, T29, T2b, T27;
255
                         T26 = T1Y - T1Z;
256
                         T20 = T1Y + T1Z;
257
                         T25 = FNMS(KP250000000, T20, T24);
258
                         T28 = T1g - T1h;
259
                         T29 = T1d - T1e;
260
                         T2a = FNMS(KP618033988, T29, T28);
261
                         T2c = FMA(KP618033988, T28, T29);
262
                         ii[0] = T20 + T24;
263
                         T2b = FMA(KP559016994, T26, T25);
264
                         ii[WS(rs, 4)] = FMA(KP951056516, T2c, T2b);
265
                         ii[WS(rs, 6)] = FNMS(KP951056516, T2c, T2b);
266
                         T27 = FNMS(KP559016994, T26, T25);
267
                         ii[WS(rs, 2)] = FMA(KP951056516, T2a, T27);
268
                         ii[WS(rs, 8)] = FNMS(KP951056516, T2a, T27);
269
                    }
270
               }
271
          }
272
     }
273
}
274

    
275
static const tw_instr twinstr[] = {
276
     {TW_CEXP, 0, 1},
277
     {TW_CEXP, 0, 3},
278
     {TW_CEXP, 0, 9},
279
     {TW_NEXT, 1, 0}
280
};
281

    
282
static const ct_desc desc = { 10, "t2_10", twinstr, &GENUS, {48, 28, 66, 0}, 0, 0, 0 };
283

    
284
void X(codelet_t2_10) (planner *p) {
285
     X(kdft_dit_register) (p, t2_10, &desc);
286
}
287
#else
288

    
289
/* Generated by: ../../../genfft/gen_twiddle.native -compact -variables 4 -pipeline-latency 4 -twiddle-log3 -precompute-twiddles -n 10 -name t2_10 -include dft/scalar/t.h */
290

    
291
/*
292
 * This function contains 114 FP additions, 80 FP multiplications,
293
 * (or, 76 additions, 42 multiplications, 38 fused multiply/add),
294
 * 63 stack variables, 4 constants, and 40 memory accesses
295
 */
296
#include "dft/scalar/t.h"
297

    
298
static void t2_10(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms)
299
{
300
     DK(KP587785252, +0.587785252292473129168705954639072768597652438);
301
     DK(KP951056516, +0.951056516295153572116439333379382143405698634);
302
     DK(KP250000000, +0.250000000000000000000000000000000000000000000);
303
     DK(KP559016994, +0.559016994374947424102293417182819058860154590);
304
     {
305
          INT m;
306
          for (m = mb, W = W + (mb * 6); m < me; m = m + 1, ri = ri + ms, ii = ii + ms, W = W + 6, MAKE_VOLATILE_STRIDE(20, rs)) {
307
               E T2, T5, T3, T6, T8, Tm, Tc, Tk, T9, Td, Te, TM, TO, Tg, Tp;
308
               E Tv, Tx, Tr;
309
               {
310
                    E T4, Tb, T7, Ta;
311
                    T2 = W[0];
312
                    T5 = W[1];
313
                    T3 = W[2];
314
                    T6 = W[3];
315
                    T4 = T2 * T3;
316
                    Tb = T5 * T3;
317
                    T7 = T5 * T6;
318
                    Ta = T2 * T6;
319
                    T8 = T4 - T7;
320
                    Tm = Ta - Tb;
321
                    Tc = Ta + Tb;
322
                    Tk = T4 + T7;
323
                    T9 = W[4];
324
                    Td = W[5];
325
                    Te = FMA(T8, T9, Tc * Td);
326
                    TM = FMA(T3, T9, T6 * Td);
327
                    TO = FNMS(T6, T9, T3 * Td);
328
                    Tg = FNMS(Tc, T9, T8 * Td);
329
                    Tp = FMA(Tk, T9, Tm * Td);
330
                    Tv = FMA(T2, T9, T5 * Td);
331
                    Tx = FNMS(T5, T9, T2 * Td);
332
                    Tr = FNMS(Tm, T9, Tk * Td);
333
               }
334
               {
335
                    E Tj, T1S, TX, T1G, TL, TU, TV, T1s, T1t, T1C, T11, T12, T13, T1h, T1k;
336
                    E T1Q, Tu, TD, TE, T1v, T1w, T1B, TY, TZ, T10, T1a, T1d, T1P;
337
                    {
338
                         E T1, T1F, Ti, T1E, Tf, Th;
339
                         T1 = ri[0];
340
                         T1F = ii[0];
341
                         Tf = ri[WS(rs, 5)];
342
                         Th = ii[WS(rs, 5)];
343
                         Ti = FMA(Te, Tf, Tg * Th);
344
                         T1E = FNMS(Tg, Tf, Te * Th);
345
                         Tj = T1 - Ti;
346
                         T1S = T1F - T1E;
347
                         TX = T1 + Ti;
348
                         T1G = T1E + T1F;
349
                    }
350
                    {
351
                         E TH, T1f, TT, T1j, TK, T1g, TQ, T1i;
352
                         {
353
                              E TF, TG, TR, TS;
354
                              TF = ri[WS(rs, 4)];
355
                              TG = ii[WS(rs, 4)];
356
                              TH = FMA(T8, TF, Tc * TG);
357
                              T1f = FNMS(Tc, TF, T8 * TG);
358
                              TR = ri[WS(rs, 1)];
359
                              TS = ii[WS(rs, 1)];
360
                              TT = FMA(T2, TR, T5 * TS);
361
                              T1j = FNMS(T5, TR, T2 * TS);
362
                         }
363
                         {
364
                              E TI, TJ, TN, TP;
365
                              TI = ri[WS(rs, 9)];
366
                              TJ = ii[WS(rs, 9)];
367
                              TK = FMA(T9, TI, Td * TJ);
368
                              T1g = FNMS(Td, TI, T9 * TJ);
369
                              TN = ri[WS(rs, 6)];
370
                              TP = ii[WS(rs, 6)];
371
                              TQ = FMA(TM, TN, TO * TP);
372
                              T1i = FNMS(TO, TN, TM * TP);
373
                         }
374
                         TL = TH - TK;
375
                         TU = TQ - TT;
376
                         TV = TL + TU;
377
                         T1s = T1f + T1g;
378
                         T1t = T1i + T1j;
379
                         T1C = T1s + T1t;
380
                         T11 = TH + TK;
381
                         T12 = TQ + TT;
382
                         T13 = T11 + T12;
383
                         T1h = T1f - T1g;
384
                         T1k = T1i - T1j;
385
                         T1Q = T1h + T1k;
386
                    }
387
                    {
388
                         E To, T18, TC, T1c, Tt, T19, Tz, T1b;
389
                         {
390
                              E Tl, Tn, TA, TB;
391
                              Tl = ri[WS(rs, 2)];
392
                              Tn = ii[WS(rs, 2)];
393
                              To = FMA(Tk, Tl, Tm * Tn);
394
                              T18 = FNMS(Tm, Tl, Tk * Tn);
395
                              TA = ri[WS(rs, 3)];
396
                              TB = ii[WS(rs, 3)];
397
                              TC = FMA(T3, TA, T6 * TB);
398
                              T1c = FNMS(T6, TA, T3 * TB);
399
                         }
400
                         {
401
                              E Tq, Ts, Tw, Ty;
402
                              Tq = ri[WS(rs, 7)];
403
                              Ts = ii[WS(rs, 7)];
404
                              Tt = FMA(Tp, Tq, Tr * Ts);
405
                              T19 = FNMS(Tr, Tq, Tp * Ts);
406
                              Tw = ri[WS(rs, 8)];
407
                              Ty = ii[WS(rs, 8)];
408
                              Tz = FMA(Tv, Tw, Tx * Ty);
409
                              T1b = FNMS(Tx, Tw, Tv * Ty);
410
                         }
411
                         Tu = To - Tt;
412
                         TD = Tz - TC;
413
                         TE = Tu + TD;
414
                         T1v = T18 + T19;
415
                         T1w = T1b + T1c;
416
                         T1B = T1v + T1w;
417
                         TY = To + Tt;
418
                         TZ = Tz + TC;
419
                         T10 = TY + TZ;
420
                         T1a = T18 - T19;
421
                         T1d = T1b - T1c;
422
                         T1P = T1a + T1d;
423
                    }
424
                    {
425
                         E T15, TW, T16, T1m, T1o, T1e, T1l, T1n, T17;
426
                         T15 = KP559016994 * (TE - TV);
427
                         TW = TE + TV;
428
                         T16 = FNMS(KP250000000, TW, Tj);
429
                         T1e = T1a - T1d;
430
                         T1l = T1h - T1k;
431
                         T1m = FMA(KP951056516, T1e, KP587785252 * T1l);
432
                         T1o = FNMS(KP587785252, T1e, KP951056516 * T1l);
433
                         ri[WS(rs, 5)] = Tj + TW;
434
                         T1n = T16 - T15;
435
                         ri[WS(rs, 7)] = T1n - T1o;
436
                         ri[WS(rs, 3)] = T1n + T1o;
437
                         T17 = T15 + T16;
438
                         ri[WS(rs, 9)] = T17 - T1m;
439
                         ri[WS(rs, 1)] = T17 + T1m;
440
                    }
441
                    {
442
                         E T1R, T1T, T1U, T1Y, T20, T1W, T1X, T1Z, T1V;
443
                         T1R = KP559016994 * (T1P - T1Q);
444
                         T1T = T1P + T1Q;
445
                         T1U = FNMS(KP250000000, T1T, T1S);
446
                         T1W = Tu - TD;
447
                         T1X = TL - TU;
448
                         T1Y = FMA(KP951056516, T1W, KP587785252 * T1X);
449
                         T20 = FNMS(KP587785252, T1W, KP951056516 * T1X);
450
                         ii[WS(rs, 5)] = T1T + T1S;
451
                         T1Z = T1U - T1R;
452
                         ii[WS(rs, 3)] = T1Z - T20;
453
                         ii[WS(rs, 7)] = T20 + T1Z;
454
                         T1V = T1R + T1U;
455
                         ii[WS(rs, 1)] = T1V - T1Y;
456
                         ii[WS(rs, 9)] = T1Y + T1V;
457
                    }
458
                    {
459
                         E T1q, T14, T1p, T1y, T1A, T1u, T1x, T1z, T1r;
460
                         T1q = KP559016994 * (T10 - T13);
461
                         T14 = T10 + T13;
462
                         T1p = FNMS(KP250000000, T14, TX);
463
                         T1u = T1s - T1t;
464
                         T1x = T1v - T1w;
465
                         T1y = FNMS(KP587785252, T1x, KP951056516 * T1u);
466
                         T1A = FMA(KP951056516, T1x, KP587785252 * T1u);
467
                         ri[0] = TX + T14;
468
                         T1z = T1q + T1p;
469
                         ri[WS(rs, 4)] = T1z - T1A;
470
                         ri[WS(rs, 6)] = T1z + T1A;
471
                         T1r = T1p - T1q;
472
                         ri[WS(rs, 2)] = T1r - T1y;
473
                         ri[WS(rs, 8)] = T1r + T1y;
474
                    }
475
                    {
476
                         E T1L, T1D, T1K, T1J, T1N, T1H, T1I, T1O, T1M;
477
                         T1L = KP559016994 * (T1B - T1C);
478
                         T1D = T1B + T1C;
479
                         T1K = FNMS(KP250000000, T1D, T1G);
480
                         T1H = T11 - T12;
481
                         T1I = TY - TZ;
482
                         T1J = FNMS(KP587785252, T1I, KP951056516 * T1H);
483
                         T1N = FMA(KP951056516, T1I, KP587785252 * T1H);
484
                         ii[0] = T1D + T1G;
485
                         T1O = T1L + T1K;
486
                         ii[WS(rs, 4)] = T1N + T1O;
487
                         ii[WS(rs, 6)] = T1O - T1N;
488
                         T1M = T1K - T1L;
489
                         ii[WS(rs, 2)] = T1J + T1M;
490
                         ii[WS(rs, 8)] = T1M - T1J;
491
                    }
492
               }
493
          }
494
     }
495
}
496

    
497
static const tw_instr twinstr[] = {
498
     {TW_CEXP, 0, 1},
499
     {TW_CEXP, 0, 3},
500
     {TW_CEXP, 0, 9},
501
     {TW_NEXT, 1, 0}
502
};
503

    
504
static const ct_desc desc = { 10, "t2_10", twinstr, &GENUS, {76, 42, 38, 0}, 0, 0, 0 };
505

    
506
void X(codelet_t2_10) (planner *p) {
507
     X(kdft_dit_register) (p, t2_10, &desc);
508
}
509
#endif