21
21
/* This file was automatically generated --- DO NOT EDIT */
22
/* Generated on Sat Jul 5 21:58:03 EDT 2003 */
22
/* Generated on Tue Mar 7 11:18:52 EST 2006 */
24
24
#include "codelet-rdft.h"
26
/* Generated by: /homee/stevenj/cvs/fftw3.0.1/genfft/gen_r2hc -compact -variables 4 -n 6 -name r2hcII_6 -dft-II -include r2hcII.h */
28
/* Generated by: ../../../genfft/gen_r2hc -fma -reorder-insns -schedule-for-pipeline -compact -variables 4 -pipeline-latency 4 -n 6 -name r2hcII_6 -dft-II -include r2hcII.h */
31
* This function contains 13 FP additions, 6 FP multiplications,
32
* (or, 7 additions, 0 multiplications, 6 fused multiply/add),
33
* 15 stack variables, and 12 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_r2hc.ml,v 1.18 2006-02-12 23:34:12 athena Exp $
44
static void r2hcII_6(const R *I, R *ro, R *io, stride is, stride ros, stride ios, INT v, INT ivs, INT ovs)
46
DK(KP866025403, +0.866025403784438646763723170752936183471402627);
47
DK(KP500000000, +0.500000000000000000000000000000000000000000000);
49
for (i = v; i > 0; i = i - 1, I = I + ivs, ro = ro + ovs, io = io + ovs, MAKE_VOLATILE_STRIDE(is), MAKE_VOLATILE_STRIDE(ros), MAKE_VOLATILE_STRIDE(ios)) {
50
E T1, T9, T2, T3, T6, T7;
58
E Tc, T4, Ta, T8, T5, Tb;
59
ro[WS(ros, 1)] = T1 + T2 - T3;
64
T5 = FMA(KP500000000, T4, T1);
65
Tb = FMA(KP500000000, Ta, T9);
66
io[WS(ios, 1)] = T9 - Ta;
67
ro[WS(ros, 2)] = FMA(KP866025403, T8, T5);
68
ro[0] = FNMS(KP866025403, T8, T5);
69
io[WS(ios, 2)] = FMS(KP866025403, Tc, Tb);
70
io[0] = -(FMA(KP866025403, Tc, Tb));
75
static const kr2hc_desc desc = { 6, "r2hcII_6", {7, 0, 6, 0}, &GENUS, 0, 0, 0, 0, 0 };
77
void X(codelet_r2hcII_6) (planner *p) {
78
X(kr2hcII_register) (p, r2hcII_6, &desc);
83
/* Generated by: ../../../genfft/gen_r2hc -compact -variables 4 -pipeline-latency 4 -n 6 -name r2hcII_6 -dft-II -include r2hcII.h */
29
86
* This function contains 13 FP additions, 4 FP multiplications,
35
* $Id: algsimp.ml,v 1.7 2003/03/15 20:29:42 stevenj Exp $
36
* $Id: fft.ml,v 1.2 2003/03/15 20:29:42 stevenj Exp $
37
* $Id: gen_r2hc.ml,v 1.13 2003/04/17 19:25:50 athena Exp $
92
* $Id: algsimp.ml,v 1.9 2006-02-12 23:34:12 athena Exp $
93
* $Id: fft.ml,v 1.4 2006-01-05 03:04:27 stevenj Exp $
94
* $Id: gen_r2hc.ml,v 1.18 2006-02-12 23:34:12 athena Exp $
40
97
#include "r2hcII.h"
42
static void r2hcII_6(const R *I, R *ro, R *io, stride is, stride ros, stride ios, int v, int ivs, int ovs)
99
static void r2hcII_6(const R *I, R *ro, R *io, stride is, stride ros, stride ios, INT v, INT ivs, INT ovs)
44
101
DK(KP500000000, +0.500000000000000000000000000000000000000000000);
45
102
DK(KP866025403, +0.866025403784438646763723170752936183471402627);
47
for (i = v; i > 0; i = i - 1, I = I + ivs, ro = ro + ovs, io = io + ovs) {
104
for (i = v; i > 0; i = i - 1, I = I + ivs, ro = ro + ovs, io = io + ovs, MAKE_VOLATILE_STRIDE(is), MAKE_VOLATILE_STRIDE(ros), MAKE_VOLATILE_STRIDE(ios)) {
48
105
E Ta, T7, T9, T1, T3, T2, T8, T4, T5, T6, Tb;
49
106
Ta = I[WS(is, 3)];
50
107
T5 = I[WS(is, 5)];