1 #include "kernel/ifftw.h"
2 #include SIMD_HEADER
3 
4 extern void XSIMD(codelet_n1fv_2)(planner *);
5 extern void XSIMD(codelet_n1fv_3)(planner *);
6 extern void XSIMD(codelet_n1fv_4)(planner *);
7 extern void XSIMD(codelet_n1fv_5)(planner *);
8 extern void XSIMD(codelet_n1fv_6)(planner *);
9 extern void XSIMD(codelet_n1fv_7)(planner *);
10 extern void XSIMD(codelet_n1fv_8)(planner *);
11 extern void XSIMD(codelet_n1fv_9)(planner *);
12 extern void XSIMD(codelet_n1fv_10)(planner *);
13 extern void XSIMD(codelet_n1fv_11)(planner *);
14 extern void XSIMD(codelet_n1fv_12)(planner *);
15 extern void XSIMD(codelet_n1fv_13)(planner *);
16 extern void XSIMD(codelet_n1fv_14)(planner *);
17 extern void XSIMD(codelet_n1fv_15)(planner *);
18 extern void XSIMD(codelet_n1fv_16)(planner *);
19 extern void XSIMD(codelet_n1fv_32)(planner *);
20 extern void XSIMD(codelet_n1fv_64)(planner *);
21 extern void XSIMD(codelet_n1fv_128)(planner *);
22 extern void XSIMD(codelet_n1fv_20)(planner *);
23 extern void XSIMD(codelet_n1fv_25)(planner *);
24 extern void XSIMD(codelet_n1bv_2)(planner *);
25 extern void XSIMD(codelet_n1bv_3)(planner *);
26 extern void XSIMD(codelet_n1bv_4)(planner *);
27 extern void XSIMD(codelet_n1bv_5)(planner *);
28 extern void XSIMD(codelet_n1bv_6)(planner *);
29 extern void XSIMD(codelet_n1bv_7)(planner *);
30 extern void XSIMD(codelet_n1bv_8)(planner *);
31 extern void XSIMD(codelet_n1bv_9)(planner *);
32 extern void XSIMD(codelet_n1bv_10)(planner *);
33 extern void XSIMD(codelet_n1bv_11)(planner *);
34 extern void XSIMD(codelet_n1bv_12)(planner *);
35 extern void XSIMD(codelet_n1bv_13)(planner *);
36 extern void XSIMD(codelet_n1bv_14)(planner *);
37 extern void XSIMD(codelet_n1bv_15)(planner *);
38 extern void XSIMD(codelet_n1bv_16)(planner *);
39 extern void XSIMD(codelet_n1bv_32)(planner *);
40 extern void XSIMD(codelet_n1bv_64)(planner *);
41 extern void XSIMD(codelet_n1bv_128)(planner *);
42 extern void XSIMD(codelet_n1bv_20)(planner *);
43 extern void XSIMD(codelet_n1bv_25)(planner *);
44 extern void XSIMD(codelet_n2fv_2)(planner *);
45 extern void XSIMD(codelet_n2fv_4)(planner *);
46 extern void XSIMD(codelet_n2fv_6)(planner *);
47 extern void XSIMD(codelet_n2fv_8)(planner *);
48 extern void XSIMD(codelet_n2fv_10)(planner *);
49 extern void XSIMD(codelet_n2fv_12)(planner *);
50 extern void XSIMD(codelet_n2fv_14)(planner *);
51 extern void XSIMD(codelet_n2fv_16)(planner *);
52 extern void XSIMD(codelet_n2fv_32)(planner *);
53 extern void XSIMD(codelet_n2fv_64)(planner *);
54 extern void XSIMD(codelet_n2fv_20)(planner *);
55 extern void XSIMD(codelet_n2bv_2)(planner *);
56 extern void XSIMD(codelet_n2bv_4)(planner *);
57 extern void XSIMD(codelet_n2bv_6)(planner *);
58 extern void XSIMD(codelet_n2bv_8)(planner *);
59 extern void XSIMD(codelet_n2bv_10)(planner *);
60 extern void XSIMD(codelet_n2bv_12)(planner *);
61 extern void XSIMD(codelet_n2bv_14)(planner *);
62 extern void XSIMD(codelet_n2bv_16)(planner *);
63 extern void XSIMD(codelet_n2bv_32)(planner *);
64 extern void XSIMD(codelet_n2bv_64)(planner *);
65 extern void XSIMD(codelet_n2bv_20)(planner *);
66 extern void XSIMD(codelet_n2sv_4)(planner *);
67 extern void XSIMD(codelet_n2sv_8)(planner *);
68 extern void XSIMD(codelet_n2sv_16)(planner *);
69 extern void XSIMD(codelet_n2sv_32)(planner *);
70 extern void XSIMD(codelet_n2sv_64)(planner *);
71 extern void XSIMD(codelet_t1fuv_2)(planner *);
72 extern void XSIMD(codelet_t1fuv_3)(planner *);
73 extern void XSIMD(codelet_t1fuv_4)(planner *);
74 extern void XSIMD(codelet_t1fuv_5)(planner *);
75 extern void XSIMD(codelet_t1fuv_6)(planner *);
76 extern void XSIMD(codelet_t1fuv_7)(planner *);
77 extern void XSIMD(codelet_t1fuv_8)(planner *);
78 extern void XSIMD(codelet_t1fuv_9)(planner *);
79 extern void XSIMD(codelet_t1fuv_10)(planner *);
80 extern void XSIMD(codelet_t1fv_2)(planner *);
81 extern void XSIMD(codelet_t1fv_3)(planner *);
82 extern void XSIMD(codelet_t1fv_4)(planner *);
83 extern void XSIMD(codelet_t1fv_5)(planner *);
84 extern void XSIMD(codelet_t1fv_6)(planner *);
85 extern void XSIMD(codelet_t1fv_7)(planner *);
86 extern void XSIMD(codelet_t1fv_8)(planner *);
87 extern void XSIMD(codelet_t1fv_9)(planner *);
88 extern void XSIMD(codelet_t1fv_10)(planner *);
89 extern void XSIMD(codelet_t1fv_12)(planner *);
90 extern void XSIMD(codelet_t1fv_15)(planner *);
91 extern void XSIMD(codelet_t1fv_16)(planner *);
92 extern void XSIMD(codelet_t1fv_32)(planner *);
93 extern void XSIMD(codelet_t1fv_64)(planner *);
94 extern void XSIMD(codelet_t1fv_20)(planner *);
95 extern void XSIMD(codelet_t1fv_25)(planner *);
96 extern void XSIMD(codelet_t2fv_2)(planner *);
97 extern void XSIMD(codelet_t2fv_4)(planner *);
98 extern void XSIMD(codelet_t2fv_8)(planner *);
99 extern void XSIMD(codelet_t2fv_16)(planner *);
100 extern void XSIMD(codelet_t2fv_32)(planner *);
101 extern void XSIMD(codelet_t2fv_64)(planner *);
102 extern void XSIMD(codelet_t2fv_5)(planner *);
103 extern void XSIMD(codelet_t2fv_10)(planner *);
104 extern void XSIMD(codelet_t2fv_20)(planner *);
105 extern void XSIMD(codelet_t2fv_25)(planner *);
106 extern void XSIMD(codelet_t3fv_4)(planner *);
107 extern void XSIMD(codelet_t3fv_8)(planner *);
108 extern void XSIMD(codelet_t3fv_16)(planner *);
109 extern void XSIMD(codelet_t3fv_32)(planner *);
110 extern void XSIMD(codelet_t3fv_5)(planner *);
111 extern void XSIMD(codelet_t3fv_10)(planner *);
112 extern void XSIMD(codelet_t3fv_20)(planner *);
113 extern void XSIMD(codelet_t3fv_25)(planner *);
114 extern void XSIMD(codelet_t1buv_2)(planner *);
115 extern void XSIMD(codelet_t1buv_3)(planner *);
116 extern void XSIMD(codelet_t1buv_4)(planner *);
117 extern void XSIMD(codelet_t1buv_5)(planner *);
118 extern void XSIMD(codelet_t1buv_6)(planner *);
119 extern void XSIMD(codelet_t1buv_7)(planner *);
120 extern void XSIMD(codelet_t1buv_8)(planner *);
121 extern void XSIMD(codelet_t1buv_9)(planner *);
122 extern void XSIMD(codelet_t1buv_10)(planner *);
123 extern void XSIMD(codelet_t1bv_2)(planner *);
124 extern void XSIMD(codelet_t1bv_3)(planner *);
125 extern void XSIMD(codelet_t1bv_4)(planner *);
126 extern void XSIMD(codelet_t1bv_5)(planner *);
127 extern void XSIMD(codelet_t1bv_6)(planner *);
128 extern void XSIMD(codelet_t1bv_7)(planner *);
129 extern void XSIMD(codelet_t1bv_8)(planner *);
130 extern void XSIMD(codelet_t1bv_9)(planner *);
131 extern void XSIMD(codelet_t1bv_10)(planner *);
132 extern void XSIMD(codelet_t1bv_12)(planner *);
133 extern void XSIMD(codelet_t1bv_15)(planner *);
134 extern void XSIMD(codelet_t1bv_16)(planner *);
135 extern void XSIMD(codelet_t1bv_32)(planner *);
136 extern void XSIMD(codelet_t1bv_64)(planner *);
137 extern void XSIMD(codelet_t1bv_20)(planner *);
138 extern void XSIMD(codelet_t1bv_25)(planner *);
139 extern void XSIMD(codelet_t2bv_2)(planner *);
140 extern void XSIMD(codelet_t2bv_4)(planner *);
141 extern void XSIMD(codelet_t2bv_8)(planner *);
142 extern void XSIMD(codelet_t2bv_16)(planner *);
143 extern void XSIMD(codelet_t2bv_32)(planner *);
144 extern void XSIMD(codelet_t2bv_64)(planner *);
145 extern void XSIMD(codelet_t2bv_5)(planner *);
146 extern void XSIMD(codelet_t2bv_10)(planner *);
147 extern void XSIMD(codelet_t2bv_20)(planner *);
148 extern void XSIMD(codelet_t2bv_25)(planner *);
149 extern void XSIMD(codelet_t3bv_4)(planner *);
150 extern void XSIMD(codelet_t3bv_8)(planner *);
151 extern void XSIMD(codelet_t3bv_16)(planner *);
152 extern void XSIMD(codelet_t3bv_32)(planner *);
153 extern void XSIMD(codelet_t3bv_5)(planner *);
154 extern void XSIMD(codelet_t3bv_10)(planner *);
155 extern void XSIMD(codelet_t3bv_20)(planner *);
156 extern void XSIMD(codelet_t3bv_25)(planner *);
157 extern void XSIMD(codelet_t1sv_2)(planner *);
158 extern void XSIMD(codelet_t1sv_4)(planner *);
159 extern void XSIMD(codelet_t1sv_8)(planner *);
160 extern void XSIMD(codelet_t1sv_16)(planner *);
161 extern void XSIMD(codelet_t1sv_32)(planner *);
162 extern void XSIMD(codelet_t2sv_4)(planner *);
163 extern void XSIMD(codelet_t2sv_8)(planner *);
164 extern void XSIMD(codelet_t2sv_16)(planner *);
165 extern void XSIMD(codelet_t2sv_32)(planner *);
166 extern void XSIMD(codelet_q1fv_2)(planner *);
167 extern void XSIMD(codelet_q1fv_4)(planner *);
168 extern void XSIMD(codelet_q1fv_5)(planner *);
169 extern void XSIMD(codelet_q1fv_8)(planner *);
170 extern void XSIMD(codelet_q1bv_2)(planner *);
171 extern void XSIMD(codelet_q1bv_4)(planner *);
172 extern void XSIMD(codelet_q1bv_5)(planner *);
173 extern void XSIMD(codelet_q1bv_8)(planner *);
174 
175 
176 extern const solvtab XSIMD(solvtab_dft);
177 const solvtab XSIMD(solvtab_dft) = {
178    SOLVTAB(XSIMD(codelet_n1fv_2)),
179    SOLVTAB(XSIMD(codelet_n1fv_3)),
180    SOLVTAB(XSIMD(codelet_n1fv_4)),
181    SOLVTAB(XSIMD(codelet_n1fv_5)),
182    SOLVTAB(XSIMD(codelet_n1fv_6)),
183    SOLVTAB(XSIMD(codelet_n1fv_7)),
184    SOLVTAB(XSIMD(codelet_n1fv_8)),
185    SOLVTAB(XSIMD(codelet_n1fv_9)),
186    SOLVTAB(XSIMD(codelet_n1fv_10)),
187    SOLVTAB(XSIMD(codelet_n1fv_11)),
188    SOLVTAB(XSIMD(codelet_n1fv_12)),
189    SOLVTAB(XSIMD(codelet_n1fv_13)),
190    SOLVTAB(XSIMD(codelet_n1fv_14)),
191    SOLVTAB(XSIMD(codelet_n1fv_15)),
192    SOLVTAB(XSIMD(codelet_n1fv_16)),
193    SOLVTAB(XSIMD(codelet_n1fv_32)),
194    SOLVTAB(XSIMD(codelet_n1fv_64)),
195    SOLVTAB(XSIMD(codelet_n1fv_128)),
196    SOLVTAB(XSIMD(codelet_n1fv_20)),
197    SOLVTAB(XSIMD(codelet_n1fv_25)),
198    SOLVTAB(XSIMD(codelet_n1bv_2)),
199    SOLVTAB(XSIMD(codelet_n1bv_3)),
200    SOLVTAB(XSIMD(codelet_n1bv_4)),
201    SOLVTAB(XSIMD(codelet_n1bv_5)),
202    SOLVTAB(XSIMD(codelet_n1bv_6)),
203    SOLVTAB(XSIMD(codelet_n1bv_7)),
204    SOLVTAB(XSIMD(codelet_n1bv_8)),
205    SOLVTAB(XSIMD(codelet_n1bv_9)),
206    SOLVTAB(XSIMD(codelet_n1bv_10)),
207    SOLVTAB(XSIMD(codelet_n1bv_11)),
208    SOLVTAB(XSIMD(codelet_n1bv_12)),
209    SOLVTAB(XSIMD(codelet_n1bv_13)),
210    SOLVTAB(XSIMD(codelet_n1bv_14)),
211    SOLVTAB(XSIMD(codelet_n1bv_15)),
212    SOLVTAB(XSIMD(codelet_n1bv_16)),
213    SOLVTAB(XSIMD(codelet_n1bv_32)),
214    SOLVTAB(XSIMD(codelet_n1bv_64)),
215    SOLVTAB(XSIMD(codelet_n1bv_128)),
216    SOLVTAB(XSIMD(codelet_n1bv_20)),
217    SOLVTAB(XSIMD(codelet_n1bv_25)),
218    SOLVTAB(XSIMD(codelet_n2fv_2)),
219    SOLVTAB(XSIMD(codelet_n2fv_4)),
220    SOLVTAB(XSIMD(codelet_n2fv_6)),
221    SOLVTAB(XSIMD(codelet_n2fv_8)),
222    SOLVTAB(XSIMD(codelet_n2fv_10)),
223    SOLVTAB(XSIMD(codelet_n2fv_12)),
224    SOLVTAB(XSIMD(codelet_n2fv_14)),
225    SOLVTAB(XSIMD(codelet_n2fv_16)),
226    SOLVTAB(XSIMD(codelet_n2fv_32)),
227    SOLVTAB(XSIMD(codelet_n2fv_64)),
228    SOLVTAB(XSIMD(codelet_n2fv_20)),
229    SOLVTAB(XSIMD(codelet_n2bv_2)),
230    SOLVTAB(XSIMD(codelet_n2bv_4)),
231    SOLVTAB(XSIMD(codelet_n2bv_6)),
232    SOLVTAB(XSIMD(codelet_n2bv_8)),
233    SOLVTAB(XSIMD(codelet_n2bv_10)),
234    SOLVTAB(XSIMD(codelet_n2bv_12)),
235    SOLVTAB(XSIMD(codelet_n2bv_14)),
236    SOLVTAB(XSIMD(codelet_n2bv_16)),
237    SOLVTAB(XSIMD(codelet_n2bv_32)),
238    SOLVTAB(XSIMD(codelet_n2bv_64)),
239    SOLVTAB(XSIMD(codelet_n2bv_20)),
240    SOLVTAB(XSIMD(codelet_n2sv_4)),
241    SOLVTAB(XSIMD(codelet_n2sv_8)),
242    SOLVTAB(XSIMD(codelet_n2sv_16)),
243    SOLVTAB(XSIMD(codelet_n2sv_32)),
244    SOLVTAB(XSIMD(codelet_n2sv_64)),
245    SOLVTAB(XSIMD(codelet_t1fuv_2)),
246    SOLVTAB(XSIMD(codelet_t1fuv_3)),
247    SOLVTAB(XSIMD(codelet_t1fuv_4)),
248    SOLVTAB(XSIMD(codelet_t1fuv_5)),
249    SOLVTAB(XSIMD(codelet_t1fuv_6)),
250    SOLVTAB(XSIMD(codelet_t1fuv_7)),
251    SOLVTAB(XSIMD(codelet_t1fuv_8)),
252    SOLVTAB(XSIMD(codelet_t1fuv_9)),
253    SOLVTAB(XSIMD(codelet_t1fuv_10)),
254    SOLVTAB(XSIMD(codelet_t1fv_2)),
255    SOLVTAB(XSIMD(codelet_t1fv_3)),
256    SOLVTAB(XSIMD(codelet_t1fv_4)),
257    SOLVTAB(XSIMD(codelet_t1fv_5)),
258    SOLVTAB(XSIMD(codelet_t1fv_6)),
259    SOLVTAB(XSIMD(codelet_t1fv_7)),
260    SOLVTAB(XSIMD(codelet_t1fv_8)),
261    SOLVTAB(XSIMD(codelet_t1fv_9)),
262    SOLVTAB(XSIMD(codelet_t1fv_10)),
263    SOLVTAB(XSIMD(codelet_t1fv_12)),
264    SOLVTAB(XSIMD(codelet_t1fv_15)),
265    SOLVTAB(XSIMD(codelet_t1fv_16)),
266    SOLVTAB(XSIMD(codelet_t1fv_32)),
267    SOLVTAB(XSIMD(codelet_t1fv_64)),
268    SOLVTAB(XSIMD(codelet_t1fv_20)),
269    SOLVTAB(XSIMD(codelet_t1fv_25)),
270    SOLVTAB(XSIMD(codelet_t2fv_2)),
271    SOLVTAB(XSIMD(codelet_t2fv_4)),
272    SOLVTAB(XSIMD(codelet_t2fv_8)),
273    SOLVTAB(XSIMD(codelet_t2fv_16)),
274    SOLVTAB(XSIMD(codelet_t2fv_32)),
275    SOLVTAB(XSIMD(codelet_t2fv_64)),
276    SOLVTAB(XSIMD(codelet_t2fv_5)),
277    SOLVTAB(XSIMD(codelet_t2fv_10)),
278    SOLVTAB(XSIMD(codelet_t2fv_20)),
279    SOLVTAB(XSIMD(codelet_t2fv_25)),
280    SOLVTAB(XSIMD(codelet_t3fv_4)),
281    SOLVTAB(XSIMD(codelet_t3fv_8)),
282    SOLVTAB(XSIMD(codelet_t3fv_16)),
283    SOLVTAB(XSIMD(codelet_t3fv_32)),
284    SOLVTAB(XSIMD(codelet_t3fv_5)),
285    SOLVTAB(XSIMD(codelet_t3fv_10)),
286    SOLVTAB(XSIMD(codelet_t3fv_20)),
287    SOLVTAB(XSIMD(codelet_t3fv_25)),
288    SOLVTAB(XSIMD(codelet_t1buv_2)),
289    SOLVTAB(XSIMD(codelet_t1buv_3)),
290    SOLVTAB(XSIMD(codelet_t1buv_4)),
291    SOLVTAB(XSIMD(codelet_t1buv_5)),
292    SOLVTAB(XSIMD(codelet_t1buv_6)),
293    SOLVTAB(XSIMD(codelet_t1buv_7)),
294    SOLVTAB(XSIMD(codelet_t1buv_8)),
295    SOLVTAB(XSIMD(codelet_t1buv_9)),
296    SOLVTAB(XSIMD(codelet_t1buv_10)),
297    SOLVTAB(XSIMD(codelet_t1bv_2)),
298    SOLVTAB(XSIMD(codelet_t1bv_3)),
299    SOLVTAB(XSIMD(codelet_t1bv_4)),
300    SOLVTAB(XSIMD(codelet_t1bv_5)),
301    SOLVTAB(XSIMD(codelet_t1bv_6)),
302    SOLVTAB(XSIMD(codelet_t1bv_7)),
303    SOLVTAB(XSIMD(codelet_t1bv_8)),
304    SOLVTAB(XSIMD(codelet_t1bv_9)),
305    SOLVTAB(XSIMD(codelet_t1bv_10)),
306    SOLVTAB(XSIMD(codelet_t1bv_12)),
307    SOLVTAB(XSIMD(codelet_t1bv_15)),
308    SOLVTAB(XSIMD(codelet_t1bv_16)),
309    SOLVTAB(XSIMD(codelet_t1bv_32)),
310    SOLVTAB(XSIMD(codelet_t1bv_64)),
311    SOLVTAB(XSIMD(codelet_t1bv_20)),
312    SOLVTAB(XSIMD(codelet_t1bv_25)),
313    SOLVTAB(XSIMD(codelet_t2bv_2)),
314    SOLVTAB(XSIMD(codelet_t2bv_4)),
315    SOLVTAB(XSIMD(codelet_t2bv_8)),
316    SOLVTAB(XSIMD(codelet_t2bv_16)),
317    SOLVTAB(XSIMD(codelet_t2bv_32)),
318    SOLVTAB(XSIMD(codelet_t2bv_64)),
319    SOLVTAB(XSIMD(codelet_t2bv_5)),
320    SOLVTAB(XSIMD(codelet_t2bv_10)),
321    SOLVTAB(XSIMD(codelet_t2bv_20)),
322    SOLVTAB(XSIMD(codelet_t2bv_25)),
323    SOLVTAB(XSIMD(codelet_t3bv_4)),
324    SOLVTAB(XSIMD(codelet_t3bv_8)),
325    SOLVTAB(XSIMD(codelet_t3bv_16)),
326    SOLVTAB(XSIMD(codelet_t3bv_32)),
327    SOLVTAB(XSIMD(codelet_t3bv_5)),
328    SOLVTAB(XSIMD(codelet_t3bv_10)),
329    SOLVTAB(XSIMD(codelet_t3bv_20)),
330    SOLVTAB(XSIMD(codelet_t3bv_25)),
331    SOLVTAB(XSIMD(codelet_t1sv_2)),
332    SOLVTAB(XSIMD(codelet_t1sv_4)),
333    SOLVTAB(XSIMD(codelet_t1sv_8)),
334    SOLVTAB(XSIMD(codelet_t1sv_16)),
335    SOLVTAB(XSIMD(codelet_t1sv_32)),
336    SOLVTAB(XSIMD(codelet_t2sv_4)),
337    SOLVTAB(XSIMD(codelet_t2sv_8)),
338    SOLVTAB(XSIMD(codelet_t2sv_16)),
339    SOLVTAB(XSIMD(codelet_t2sv_32)),
340    SOLVTAB(XSIMD(codelet_q1fv_2)),
341    SOLVTAB(XSIMD(codelet_q1fv_4)),
342    SOLVTAB(XSIMD(codelet_q1fv_5)),
343    SOLVTAB(XSIMD(codelet_q1fv_8)),
344    SOLVTAB(XSIMD(codelet_q1bv_2)),
345    SOLVTAB(XSIMD(codelet_q1bv_4)),
346    SOLVTAB(XSIMD(codelet_q1bv_5)),
347    SOLVTAB(XSIMD(codelet_q1bv_8)),
348    SOLVTAB_END
349 };
350