annotate src/fftw-3.3.5/rdft/scalar/r2cf/r2cfII_20.c @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 2cd0e3b3e1fd
children
rev   line source
Chris@42 1 /*
Chris@42 2 * Copyright (c) 2003, 2007-14 Matteo Frigo
Chris@42 3 * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
Chris@42 4 *
Chris@42 5 * This program is free software; you can redistribute it and/or modify
Chris@42 6 * it under the terms of the GNU General Public License as published by
Chris@42 7 * the Free Software Foundation; either version 2 of the License, or
Chris@42 8 * (at your option) any later version.
Chris@42 9 *
Chris@42 10 * This program is distributed in the hope that it will be useful,
Chris@42 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@42 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@42 13 * GNU General Public License for more details.
Chris@42 14 *
Chris@42 15 * You should have received a copy of the GNU General Public License
Chris@42 16 * along with this program; if not, write to the Free Software
Chris@42 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Chris@42 18 *
Chris@42 19 */
Chris@42 20
Chris@42 21 /* This file was automatically generated --- DO NOT EDIT */
Chris@42 22 /* Generated on Sat Jul 30 16:47:46 EDT 2016 */
Chris@42 23
Chris@42 24 #include "codelet-rdft.h"
Chris@42 25
Chris@42 26 #ifdef HAVE_FMA
Chris@42 27
Chris@42 28 /* Generated by: ../../../genfft/gen_r2cf.native -fma -reorder-insns -schedule-for-pipeline -compact -variables 4 -pipeline-latency 4 -n 20 -name r2cfII_20 -dft-II -include r2cfII.h */
Chris@42 29
Chris@42 30 /*
Chris@42 31 * This function contains 102 FP additions, 63 FP multiplications,
Chris@42 32 * (or, 39 additions, 0 multiplications, 63 fused multiply/add),
Chris@42 33 * 67 stack variables, 10 constants, and 40 memory accesses
Chris@42 34 */
Chris@42 35 #include "r2cfII.h"
Chris@42 36
Chris@42 37 static void r2cfII_20(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs)
Chris@42 38 {
Chris@42 39 DK(KP707106781, +0.707106781186547524400844362104849039284835938);
Chris@42 40 DK(KP951056516, +0.951056516295153572116439333379382143405698634);
Chris@42 41 DK(KP559016994, +0.559016994374947424102293417182819058860154590);
Chris@42 42 DK(KP690983005, +0.690983005625052575897706582817180941139845410);
Chris@42 43 DK(KP552786404, +0.552786404500042060718165266253744752911876328);
Chris@42 44 DK(KP447213595, +0.447213595499957939281834733746255247088123672);
Chris@42 45 DK(KP809016994, +0.809016994374947424102293417182819058860154590);
Chris@42 46 DK(KP250000000, +0.250000000000000000000000000000000000000000000);
Chris@42 47 DK(KP618033988, +0.618033988749894848204586834365638117720309180);
Chris@42 48 DK(KP381966011, +0.381966011250105151795413165634361882279690820);
Chris@42 49 {
Chris@42 50 INT i;
Chris@42 51 for (i = v; i > 0; i = i - 1, R0 = R0 + ivs, R1 = R1 + ivs, Cr = Cr + ovs, Ci = Ci + ovs, MAKE_VOLATILE_STRIDE(80, rs), MAKE_VOLATILE_STRIDE(80, csr), MAKE_VOLATILE_STRIDE(80, csi)) {
Chris@42 52 E Tv, TK, TN, Th, T1l, T1n, Ts, TH;
Chris@42 53 {
Chris@42 54 E Ti, T1d, T1f, T1e, T1g, T1p, TS, Tg, To, T8, T7, T19, T1r, T1k, Tx;
Chris@42 55 E Tp, TX, Ty, TF, Tr, TV, Tz, TA, TI;
Chris@42 56 {
Chris@42 57 E Ta, Tb, Td, Te;
Chris@42 58 Ti = R1[WS(rs, 2)];
Chris@42 59 T1d = R0[WS(rs, 5)];
Chris@42 60 Ta = R0[WS(rs, 9)];
Chris@42 61 Tb = R0[WS(rs, 1)];
Chris@42 62 Td = R0[WS(rs, 3)];
Chris@42 63 Te = R0[WS(rs, 7)];
Chris@42 64 {
Chris@42 65 E T1, T2, T5, T3, T4, T1i, Tc, Tf;
Chris@42 66 T1 = R0[0];
Chris@42 67 T1f = Ta + Tb;
Chris@42 68 Tc = Ta - Tb;
Chris@42 69 T1e = Td + Te;
Chris@42 70 Tf = Td - Te;
Chris@42 71 T2 = R0[WS(rs, 4)];
Chris@42 72 T5 = R0[WS(rs, 6)];
Chris@42 73 T1g = FMA(KP381966011, T1f, T1e);
Chris@42 74 T1p = FMA(KP381966011, T1e, T1f);
Chris@42 75 TS = FMA(KP618033988, Tc, Tf);
Chris@42 76 Tg = FNMS(KP618033988, Tf, Tc);
Chris@42 77 T3 = R0[WS(rs, 8)];
Chris@42 78 T4 = R0[WS(rs, 2)];
Chris@42 79 T1i = T2 + T5;
Chris@42 80 {
Chris@42 81 E Tj, Tu, Tm, Tt, Tn, Tq, TU;
Chris@42 82 Tj = R1[WS(rs, 8)];
Chris@42 83 To = R1[WS(rs, 6)];
Chris@42 84 {
Chris@42 85 E T6, T1j, Tk, Tl;
Chris@42 86 T6 = T2 + T3 - T4 - T5;
Chris@42 87 T8 = (T3 + T5 - T2) - T4;
Chris@42 88 T1j = T3 + T4;
Chris@42 89 Tk = R1[0];
Chris@42 90 Tl = R1[WS(rs, 4)];
Chris@42 91 T7 = FNMS(KP250000000, T6, T1);
Chris@42 92 T19 = T1 + T6;
Chris@42 93 T1r = FNMS(KP618033988, T1i, T1j);
Chris@42 94 T1k = FMA(KP618033988, T1j, T1i);
Chris@42 95 Tu = Tk - Tl;
Chris@42 96 Tm = Tk + Tl;
Chris@42 97 }
Chris@42 98 Tt = To + Tj;
Chris@42 99 Tx = R1[WS(rs, 7)];
Chris@42 100 Tn = Tj - Tm;
Chris@42 101 Tp = Tj + Tm;
Chris@42 102 Tv = FNMS(KP618033988, Tu, Tt);
Chris@42 103 TX = FMA(KP618033988, Tt, Tu);
Chris@42 104 Tq = FMA(KP809016994, Tp, To);
Chris@42 105 TU = FMA(KP447213595, Tp, Tn);
Chris@42 106 Ty = R1[WS(rs, 1)];
Chris@42 107 TF = R1[WS(rs, 3)];
Chris@42 108 Tr = FNMS(KP552786404, Tq, Tn);
Chris@42 109 TV = FNMS(KP690983005, TU, To);
Chris@42 110 Tz = R1[WS(rs, 5)];
Chris@42 111 TA = R1[WS(rs, 9)];
Chris@42 112 TI = TF + Ty;
Chris@42 113 }
Chris@42 114 }
Chris@42 115 }
Chris@42 116 {
Chris@42 117 E T1w, TJ, TB, T1a;
Chris@42 118 T1w = T1f + T1d - T1e;
Chris@42 119 TJ = Tz - TA;
Chris@42 120 TB = Tz + TA;
Chris@42 121 T1a = Ti + To - Tp;
Chris@42 122 {
Chris@42 123 E T9, T12, TT, T15, TG, TD, T1s, T1u, TW, T11, T10, T1h;
Chris@42 124 {
Chris@42 125 E TE, TC, TR, T1b;
Chris@42 126 T9 = FNMS(KP559016994, T8, T7);
Chris@42 127 TR = FMA(KP559016994, T8, T7);
Chris@42 128 TK = FMA(KP618033988, TJ, TI);
Chris@42 129 T12 = FNMS(KP618033988, TI, TJ);
Chris@42 130 TE = Ty - TB;
Chris@42 131 TC = Ty + TB;
Chris@42 132 TT = FMA(KP951056516, TS, TR);
Chris@42 133 T15 = FNMS(KP951056516, TS, TR);
Chris@42 134 TG = FNMS(KP552786404, TF, TE);
Chris@42 135 T1b = TC - TF - Tx;
Chris@42 136 {
Chris@42 137 E TZ, T1q, T1c, T1x;
Chris@42 138 TZ = FMA(KP447213595, TC, TE);
Chris@42 139 TD = FMA(KP250000000, TC, Tx);
Chris@42 140 T1q = FNMS(KP809016994, T1p, T1d);
Chris@42 141 T1c = T1a + T1b;
Chris@42 142 T1x = T1a - T1b;
Chris@42 143 T10 = FNMS(KP690983005, TZ, TF);
Chris@42 144 T1s = FNMS(KP951056516, T1r, T1q);
Chris@42 145 T1u = FMA(KP951056516, T1r, T1q);
Chris@42 146 Ci[WS(csi, 7)] = FMA(KP707106781, T1x, T1w);
Chris@42 147 Ci[WS(csi, 2)] = FMS(KP707106781, T1x, T1w);
Chris@42 148 Cr[WS(csr, 7)] = FMA(KP707106781, T1c, T19);
Chris@42 149 Cr[WS(csr, 2)] = FNMS(KP707106781, T1c, T19);
Chris@42 150 }
Chris@42 151 }
Chris@42 152 TW = FNMS(KP809016994, TV, Ti);
Chris@42 153 T11 = FNMS(KP809016994, T10, Tx);
Chris@42 154 T1h = FMA(KP809016994, T1g, T1d);
Chris@42 155 {
Chris@42 156 E T17, TY, T16, T13;
Chris@42 157 T17 = FNMS(KP951056516, TX, TW);
Chris@42 158 TY = FMA(KP951056516, TX, TW);
Chris@42 159 T16 = FMA(KP951056516, T12, T11);
Chris@42 160 T13 = FNMS(KP951056516, T12, T11);
Chris@42 161 TN = FMA(KP951056516, Tg, T9);
Chris@42 162 Th = FNMS(KP951056516, Tg, T9);
Chris@42 163 {
Chris@42 164 E T18, T1v, T1t, T14;
Chris@42 165 T18 = T16 - T17;
Chris@42 166 T1v = T17 + T16;
Chris@42 167 T1t = TY + T13;
Chris@42 168 T14 = TY - T13;
Chris@42 169 Cr[WS(csr, 1)] = FMA(KP707106781, T18, T15);
Chris@42 170 Cr[WS(csr, 8)] = FNMS(KP707106781, T18, T15);
Chris@42 171 Ci[WS(csi, 3)] = FMA(KP707106781, T1v, T1u);
Chris@42 172 Ci[WS(csi, 6)] = FMS(KP707106781, T1v, T1u);
Chris@42 173 Ci[WS(csi, 1)] = FNMS(KP707106781, T1t, T1s);
Chris@42 174 Ci[WS(csi, 8)] = -(FMA(KP707106781, T1t, T1s));
Chris@42 175 Cr[WS(csr, 3)] = FMA(KP707106781, T14, TT);
Chris@42 176 Cr[WS(csr, 6)] = FNMS(KP707106781, T14, TT);
Chris@42 177 T1l = FMA(KP951056516, T1k, T1h);
Chris@42 178 T1n = FNMS(KP951056516, T1k, T1h);
Chris@42 179 }
Chris@42 180 }
Chris@42 181 Ts = FNMS(KP559016994, Tr, Ti);
Chris@42 182 TH = FNMS(KP559016994, TG, TD);
Chris@42 183 }
Chris@42 184 }
Chris@42 185 }
Chris@42 186 {
Chris@42 187 E TO, Tw, TP, TL;
Chris@42 188 TO = FMA(KP951056516, Tv, Ts);
Chris@42 189 Tw = FNMS(KP951056516, Tv, Ts);
Chris@42 190 TP = FMA(KP951056516, TK, TH);
Chris@42 191 TL = FNMS(KP951056516, TK, TH);
Chris@42 192 {
Chris@42 193 E TQ, T1m, T1o, TM;
Chris@42 194 TQ = TO - TP;
Chris@42 195 T1m = TO + TP;
Chris@42 196 T1o = Tw + TL;
Chris@42 197 TM = Tw - TL;
Chris@42 198 Cr[WS(csr, 4)] = FMA(KP707106781, TQ, TN);
Chris@42 199 Cr[WS(csr, 5)] = FNMS(KP707106781, TQ, TN);
Chris@42 200 Ci[WS(csi, 9)] = FNMS(KP707106781, T1m, T1l);
Chris@42 201 Ci[0] = -(FMA(KP707106781, T1m, T1l));
Chris@42 202 Ci[WS(csi, 5)] = FNMS(KP707106781, T1o, T1n);
Chris@42 203 Ci[WS(csi, 4)] = -(FMA(KP707106781, T1o, T1n));
Chris@42 204 Cr[0] = FMA(KP707106781, TM, Th);
Chris@42 205 Cr[WS(csr, 9)] = FNMS(KP707106781, TM, Th);
Chris@42 206 }
Chris@42 207 }
Chris@42 208 }
Chris@42 209 }
Chris@42 210 }
Chris@42 211
Chris@42 212 static const kr2c_desc desc = { 20, "r2cfII_20", {39, 0, 63, 0}, &GENUS };
Chris@42 213
Chris@42 214 void X(codelet_r2cfII_20) (planner *p) {
Chris@42 215 X(kr2c_register) (p, r2cfII_20, &desc);
Chris@42 216 }
Chris@42 217
Chris@42 218 #else /* HAVE_FMA */
Chris@42 219
Chris@42 220 /* Generated by: ../../../genfft/gen_r2cf.native -compact -variables 4 -pipeline-latency 4 -n 20 -name r2cfII_20 -dft-II -include r2cfII.h */
Chris@42 221
Chris@42 222 /*
Chris@42 223 * This function contains 102 FP additions, 34 FP multiplications,
Chris@42 224 * (or, 86 additions, 18 multiplications, 16 fused multiply/add),
Chris@42 225 * 60 stack variables, 13 constants, and 40 memory accesses
Chris@42 226 */
Chris@42 227 #include "r2cfII.h"
Chris@42 228
Chris@42 229 static void r2cfII_20(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs)
Chris@42 230 {
Chris@42 231 DK(KP572061402, +0.572061402817684297600072783580302076536153377);
Chris@42 232 DK(KP218508012, +0.218508012224410535399650602527877556893735408);
Chris@42 233 DK(KP309016994, +0.309016994374947424102293417182819058860154590);
Chris@42 234 DK(KP809016994, +0.809016994374947424102293417182819058860154590);
Chris@42 235 DK(KP559016994, +0.559016994374947424102293417182819058860154590);
Chris@42 236 DK(KP951056516, +0.951056516295153572116439333379382143405698634);
Chris@42 237 DK(KP587785252, +0.587785252292473129168705954639072768597652438);
Chris@42 238 DK(KP250000000, +0.250000000000000000000000000000000000000000000);
Chris@42 239 DK(KP176776695, +0.176776695296636881100211090526212259821208984);
Chris@42 240 DK(KP395284707, +0.395284707521047416499861693054089816714944392);
Chris@42 241 DK(KP672498511, +0.672498511963957326960058968885748755876783111);
Chris@42 242 DK(KP415626937, +0.415626937777453428589967464113135184222253485);
Chris@42 243 DK(KP707106781, +0.707106781186547524400844362104849039284835938);
Chris@42 244 {
Chris@42 245 INT i;
Chris@42 246 for (i = v; i > 0; i = i - 1, R0 = R0 + ivs, R1 = R1 + ivs, Cr = Cr + ovs, Ci = Ci + ovs, MAKE_VOLATILE_STRIDE(80, rs), MAKE_VOLATILE_STRIDE(80, csr), MAKE_VOLATILE_STRIDE(80, csi)) {
Chris@42 247 E T8, TD, Tm, TN, T9, TC, TY, TE, Te, TF, Tl, TK, T12, TL, Tk;
Chris@42 248 E TM, T1, T6, Tq, T1l, T1c, Tp, T1f, T1e, T1d, Ty, TW, T1g, T1m, Tx;
Chris@42 249 E Tu;
Chris@42 250 T8 = R1[WS(rs, 2)];
Chris@42 251 TD = KP707106781 * T8;
Chris@42 252 Tm = R1[WS(rs, 7)];
Chris@42 253 TN = KP707106781 * Tm;
Chris@42 254 {
Chris@42 255 E Ta, TA, Td, TB, Tb, Tc;
Chris@42 256 T9 = R1[WS(rs, 6)];
Chris@42 257 Ta = R1[WS(rs, 8)];
Chris@42 258 TA = T9 + Ta;
Chris@42 259 Tb = R1[0];
Chris@42 260 Tc = R1[WS(rs, 4)];
Chris@42 261 Td = Tb + Tc;
Chris@42 262 TB = Tb - Tc;
Chris@42 263 TC = FMA(KP415626937, TA, KP672498511 * TB);
Chris@42 264 TY = FNMS(KP415626937, TB, KP672498511 * TA);
Chris@42 265 TE = KP395284707 * (Ta - Td);
Chris@42 266 Te = Ta + Td;
Chris@42 267 TF = KP176776695 * Te;
Chris@42 268 }
Chris@42 269 {
Chris@42 270 E Tg, TJ, Tj, TI, Th, Ti;
Chris@42 271 Tg = R1[WS(rs, 1)];
Chris@42 272 Tl = R1[WS(rs, 3)];
Chris@42 273 TJ = Tg + Tl;
Chris@42 274 Th = R1[WS(rs, 5)];
Chris@42 275 Ti = R1[WS(rs, 9)];
Chris@42 276 Tj = Th + Ti;
Chris@42 277 TI = Th - Ti;
Chris@42 278 TK = FNMS(KP415626937, TJ, KP672498511 * TI);
Chris@42 279 T12 = FMA(KP415626937, TI, KP672498511 * TJ);
Chris@42 280 TL = KP395284707 * (Tg - Tj);
Chris@42 281 Tk = Tg + Tj;
Chris@42 282 TM = KP176776695 * Tk;
Chris@42 283 }
Chris@42 284 {
Chris@42 285 E T2, T5, T3, T4, T1a, T1b;
Chris@42 286 T1 = R0[0];
Chris@42 287 T2 = R0[WS(rs, 6)];
Chris@42 288 T5 = R0[WS(rs, 8)];
Chris@42 289 T3 = R0[WS(rs, 2)];
Chris@42 290 T4 = R0[WS(rs, 4)];
Chris@42 291 T1a = T4 + T2;
Chris@42 292 T1b = T5 + T3;
Chris@42 293 T6 = T2 + T3 - (T4 + T5);
Chris@42 294 Tq = FMA(KP250000000, T6, T1);
Chris@42 295 T1l = FNMS(KP951056516, T1b, KP587785252 * T1a);
Chris@42 296 T1c = FMA(KP951056516, T1a, KP587785252 * T1b);
Chris@42 297 Tp = KP559016994 * (T5 + T2 - (T4 + T3));
Chris@42 298 }
Chris@42 299 T1f = R0[WS(rs, 5)];
Chris@42 300 {
Chris@42 301 E Tv, Tw, Ts, Tt;
Chris@42 302 Tv = R0[WS(rs, 9)];
Chris@42 303 Tw = R0[WS(rs, 1)];
Chris@42 304 Tx = Tv - Tw;
Chris@42 305 T1e = Tv + Tw;
Chris@42 306 Ts = R0[WS(rs, 3)];
Chris@42 307 Tt = R0[WS(rs, 7)];
Chris@42 308 Tu = Ts - Tt;
Chris@42 309 T1d = Ts + Tt;
Chris@42 310 }
Chris@42 311 Ty = FMA(KP951056516, Tu, KP587785252 * Tx);
Chris@42 312 TW = FNMS(KP951056516, Tx, KP587785252 * Tu);
Chris@42 313 T1g = FMA(KP809016994, T1d, KP309016994 * T1e) + T1f;
Chris@42 314 T1m = FNMS(KP809016994, T1e, T1f) - (KP309016994 * T1d);
Chris@42 315 {
Chris@42 316 E T7, T1r, To, T1q, Tf, Tn;
Chris@42 317 T7 = T1 - T6;
Chris@42 318 T1r = T1e + T1f - T1d;
Chris@42 319 Tf = T8 + (T9 - Te);
Chris@42 320 Tn = (Tk - Tl) - Tm;
Chris@42 321 To = KP707106781 * (Tf + Tn);
Chris@42 322 T1q = KP707106781 * (Tf - Tn);
Chris@42 323 Cr[WS(csr, 2)] = T7 - To;
Chris@42 324 Ci[WS(csi, 2)] = T1q - T1r;
Chris@42 325 Cr[WS(csr, 7)] = T7 + To;
Chris@42 326 Ci[WS(csi, 7)] = T1q + T1r;
Chris@42 327 }
Chris@42 328 {
Chris@42 329 E T1h, T1j, TX, T15, T10, T16, T13, T17, TV, TZ, T11;
Chris@42 330 T1h = T1c - T1g;
Chris@42 331 T1j = T1c + T1g;
Chris@42 332 TV = Tq - Tp;
Chris@42 333 TX = TV - TW;
Chris@42 334 T15 = TV + TW;
Chris@42 335 TZ = FMA(KP218508012, T9, TD) + TF - TE;
Chris@42 336 T10 = TY + TZ;
Chris@42 337 T16 = TZ - TY;
Chris@42 338 T11 = FNMS(KP218508012, Tl, TL) - (TM + TN);
Chris@42 339 T13 = T11 - T12;
Chris@42 340 T17 = T11 + T12;
Chris@42 341 {
Chris@42 342 E T14, T19, T18, T1i;
Chris@42 343 T14 = T10 + T13;
Chris@42 344 Cr[WS(csr, 5)] = TX - T14;
Chris@42 345 Cr[WS(csr, 4)] = TX + T14;
Chris@42 346 T19 = T17 - T16;
Chris@42 347 Ci[WS(csi, 5)] = T19 - T1h;
Chris@42 348 Ci[WS(csi, 4)] = T19 + T1h;
Chris@42 349 T18 = T16 + T17;
Chris@42 350 Cr[WS(csr, 9)] = T15 - T18;
Chris@42 351 Cr[0] = T15 + T18;
Chris@42 352 T1i = T13 - T10;
Chris@42 353 Ci[0] = T1i - T1j;
Chris@42 354 Ci[WS(csi, 9)] = T1i + T1j;
Chris@42 355 }
Chris@42 356 }
Chris@42 357 {
Chris@42 358 E T1n, T1p, Tz, TR, TH, TS, TP, TT, Tr, TG, TO;
Chris@42 359 T1n = T1l + T1m;
Chris@42 360 T1p = T1m - T1l;
Chris@42 361 Tr = Tp + Tq;
Chris@42 362 Tz = Tr + Ty;
Chris@42 363 TR = Tr - Ty;
Chris@42 364 TG = TD + TE + FNMS(KP572061402, T9, TF);
Chris@42 365 TH = TC + TG;
Chris@42 366 TS = TC - TG;
Chris@42 367 TO = TL + TM + FNMS(KP572061402, Tl, TN);
Chris@42 368 TP = TK - TO;
Chris@42 369 TT = TK + TO;
Chris@42 370 {
Chris@42 371 E TQ, T1o, TU, T1k;
Chris@42 372 TQ = TH + TP;
Chris@42 373 Cr[WS(csr, 6)] = Tz - TQ;
Chris@42 374 Cr[WS(csr, 3)] = Tz + TQ;
Chris@42 375 T1o = TT - TS;
Chris@42 376 Ci[WS(csi, 6)] = T1o - T1p;
Chris@42 377 Ci[WS(csi, 3)] = T1o + T1p;
Chris@42 378 TU = TS + TT;
Chris@42 379 Cr[WS(csr, 8)] = TR - TU;
Chris@42 380 Cr[WS(csr, 1)] = TR + TU;
Chris@42 381 T1k = TP - TH;
Chris@42 382 Ci[WS(csi, 8)] = T1k - T1n;
Chris@42 383 Ci[WS(csi, 1)] = T1k + T1n;
Chris@42 384 }
Chris@42 385 }
Chris@42 386 }
Chris@42 387 }
Chris@42 388 }
Chris@42 389
Chris@42 390 static const kr2c_desc desc = { 20, "r2cfII_20", {86, 18, 16, 0}, &GENUS };
Chris@42 391
Chris@42 392 void X(codelet_r2cfII_20) (planner *p) {
Chris@42 393 X(kr2c_register) (p, r2cfII_20, &desc);
Chris@42 394 }
Chris@42 395
Chris@42 396 #endif /* HAVE_FMA */