21
21
/* This file was automatically generated --- DO NOT EDIT */
22
/* Generated on Sat Jul 5 21:43:17 EDT 2003 */
22
/* Generated on Tue Mar 7 10:08:07 EST 2006 */
24
24
#include "codelet-dft.h"
26
/* Generated by: /homee/stevenj/cvs/fftw3.0.1/genfft/gen_twiddle_c -simd -compact -variables 4 -n 7 -name t1fv_7 -include t1f.h */
28
/* Generated by: ../../../genfft/gen_twiddle_c -fma -reorder-insns -schedule-for-pipeline -simd -compact -variables 4 -pipeline-latency 8 -n 7 -name t1fv_7 -include t1f.h */
31
* This function contains 36 FP additions, 36 FP multiplications,
32
* (or, 15 additions, 15 multiplications, 21 fused multiply/add),
33
* 42 stack variables, and 14 memory accesses
37
* $Id: algsimp.ml,v 1.9 2006-02-12 23:34:12 athena Exp $
38
* $Id: fft.ml,v 1.4 2006-01-05 03:04:27 stevenj Exp $
39
* $Id: gen_twiddle_c.ml,v 1.14 2006-02-12 23:34:12 athena Exp $
44
static const R *t1fv_7(R *ri, R *ii, const R *W, stride ios, INT m, INT dist)
46
DVK(KP900968867, +0.900968867902419126236102319507445051165919162);
47
DVK(KP801937735, +0.801937735804838252472204639014890102331838324);
48
DVK(KP974927912, +0.974927912181823607018131682993931217232785801);
49
DVK(KP692021471, +0.692021471630095869627814897002069140197260599);
50
DVK(KP554958132, +0.554958132087371191422194871006410481067288862);
51
DVK(KP356895867, +0.356895867892209443894399510021300583399127187);
55
for (i = m; i > 0; i = i - VL, x = x + (VL * dist), W = W + (TWVL * 12), MAKE_VOLATILE_STRIDE(ios)) {
56
V T1, T2, T4, Te, Tc, T9, T7;
57
T1 = LD(&(x[0]), dist, &(x[0]));
58
T2 = LD(&(x[WS(ios, 1)]), dist, &(x[WS(ios, 1)]));
59
T4 = LD(&(x[WS(ios, 6)]), dist, &(x[0]));
60
Te = LD(&(x[WS(ios, 4)]), dist, &(x[0]));
61
Tc = LD(&(x[WS(ios, 3)]), dist, &(x[WS(ios, 1)]));
62
T9 = LD(&(x[WS(ios, 5)]), dist, &(x[WS(ios, 1)]));
63
T7 = LD(&(x[WS(ios, 2)]), dist, &(x[0]));
65
V T3, T5, Tf, Td, Ta, T8;
66
T3 = BYTWJ(&(W[0]), T2);
67
T5 = BYTWJ(&(W[TWVL * 10]), T4);
68
Tf = BYTWJ(&(W[TWVL * 6]), Te);
69
Td = BYTWJ(&(W[TWVL * 4]), Tc);
70
Ta = BYTWJ(&(W[TWVL * 8]), T9);
71
T8 = BYTWJ(&(W[TWVL * 2]), T7);
73
V T6, Tk, Tg, Tl, Tb, Tm;
81
V Th, Ts, Tp, Tu, Tn, Tx, Ti, Tt;
82
Th = VFNMS(LDK(KP356895867), T6, Tg);
83
Ts = VFMA(LDK(KP554958132), Tl, Tk);
84
ST(&(x[0]), VADD(T1, VADD(T6, VADD(Tb, Tg))), dist, &(x[0]));
85
Tp = VFNMS(LDK(KP356895867), Tb, T6);
86
Tu = VFNMS(LDK(KP356895867), Tg, Tb);
87
Tn = VFMA(LDK(KP554958132), Tm, Tl);
88
Tx = VFNMS(LDK(KP554958132), Tk, Tm);
89
Ti = VFNMS(LDK(KP692021471), Th, Tb);
90
Tt = VMUL(LDK(KP974927912), VFMA(LDK(KP801937735), Ts, Tm));
92
V Tq, Tv, To, Ty, Tj, Tr, Tw;
93
Tq = VFNMS(LDK(KP692021471), Tp, Tg);
94
Tv = VFNMS(LDK(KP692021471), Tu, T6);
95
To = VMUL(LDK(KP974927912), VFNMS(LDK(KP801937735), Tn, Tk));
96
Ty = VMUL(LDK(KP974927912), VFNMS(LDK(KP801937735), Tx, Tl));
97
Tj = VFNMS(LDK(KP900968867), Ti, T1);
98
Tr = VFNMS(LDK(KP900968867), Tq, T1);
99
Tw = VFNMS(LDK(KP900968867), Tv, T1);
100
ST(&(x[WS(ios, 2)]), VFMAI(To, Tj), dist, &(x[0]));
101
ST(&(x[WS(ios, 5)]), VFNMSI(To, Tj), dist, &(x[WS(ios, 1)]));
102
ST(&(x[WS(ios, 1)]), VFMAI(Tt, Tr), dist, &(x[WS(ios, 1)]));
103
ST(&(x[WS(ios, 6)]), VFNMSI(Tt, Tr), dist, &(x[0]));
104
ST(&(x[WS(ios, 3)]), VFMAI(Ty, Tw), dist, &(x[WS(ios, 1)]));
105
ST(&(x[WS(ios, 4)]), VFNMSI(Ty, Tw), dist, &(x[0]));
114
static const tw_instr twinstr[] = {
124
static const ct_desc desc = { 7, "t1fv_7", twinstr, &GENUS, {15, 15, 21, 0}, 0, 0, 0 };
126
void X(codelet_t1fv_7) (planner *p) {
127
X(kdft_dit_register) (p, t1fv_7, &desc);
131
/* Generated by: ../../../genfft/gen_twiddle_c -simd -compact -variables 4 -pipeline-latency 8 -n 7 -name t1fv_7 -include t1f.h */
29
134
* This function contains 36 FP additions, 30 FP multiplications,