-
Notifications
You must be signed in to change notification settings - Fork 1
/
fft3.mac
266 lines (192 loc) · 7.9 KB
/
fft3.mac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
; Copyright 1998-2007 - Mersenne Research, Inc. All rights reserved
; Author: George Woltman
; Email: [email protected]
;
; These macros take the basic FFT building blocks and build even
; larger building blocks.
;
; ********************************************************
; ********************************************************
; ******************** FFT MACROS **********************
; ********************************************************
; ********************************************************
;; Perform a 20K-element FFT. This is done in two passes. Pass 1
;; does 5 levels, pass 2 uses common code to perform the last 10 levels.
fft20K MACRO
pass1levels5pfa5 pass2_10_levels, 512, 4
ENDM
;; Perform a 24K-element FFT. This is done in two passes. Pass 1
;; does 5 levels, pass 2 uses common code to perform the last 10 levels.
fft24K MACRO
pass1levels5pfa6 pass2_10_levels, 512, 4
ENDM
;; Perform a 24K-element all-complex FFT. This is done in two passes. Pass 1
;; does 5 levels, pass 2 uses common code to perform the last 10 levels.
fft24Kp MACRO
pass1levels5complex3 pass2_10_levels, 512, 4
ENDM
;; Perform a 28K-element FFT. This is done in two passes. Pass 1
;; does 5 levels, pass 2 uses common code to perform the last 10 levels.
fft28K MACRO
pass1levels5pfa7 pass2_10_levels, 512, 4
ENDM
;; Perform a 32K-element FFT. This is done in two passes. Pass 1
;; does 5 levels, pass 2 uses common code to perform the last 10 levels.
fft32K MACRO
pass1levels5pfa8 pass2_10_levels, 512, 4
ENDM
;; Perform a 32K-element all-complex FFT. This is done in two passes. Pass 1
;; does 5 levels, pass 2 uses common code to perform the last 10 levels.
fft32Kp MACRO
pass1levels5complex4 pass2_10_levels, 512, 4
ENDM
;; Perform a 40K-element FFT. This is done in two passes. Pass 1
;; does 6 levels, pass 2 uses common code to perform the last 10 levels.
fft40K MACRO
pass1levels6pfa5 pass2_10_levels, 512, 4
ENDM
;; Perform a 48K-element FFT. This is done in two passes. Pass 1
;; does 6 levels, pass 2 uses common code to perform the last 10 levels.
fft48K MACRO
pass1levels6pfa6 pass2_10_levels, 512, 4
ENDM
;; Perform a 48K-element all-complex FFT. This is done in two passes. Pass 1
;; does 6 levels, pass 2 uses common code to perform the last 10 levels.
fft48Kp MACRO
pass1levels6complex3 pass2_10_levels, 512, 4
ENDM
;; Perform a 56K-element FFT. This is done in two passes. Pass 1
;; does 6 levels, pass 2 uses common code to perform the last 10 levels.
fft56K MACRO
pass1levels6pfa7 pass2_10_levels, 512, 4
ENDM
;; Perform a 64K-element FFT. This is done in two passes. Pass 1
;; does 6 levels, pass 2 uses common code to perform the last 10 levels.
fft64K MACRO
pass1levels6pfa8 pass2_10_levels, 512, 2
ENDM
;; Perform a 64K-element all-complex FFT. This is done in two passes. Pass 1
;; does 6 levels, pass 2 uses common code to perform the last 10 levels.
fft64Kp MACRO
pass1levels6complex4 pass2_10_levels, 512, 2
ENDM
;; Perform a 80K-element FFT. This is done in two passes. Pass 1
;; does 7 levels, pass 2 uses common code to perform the last 10 levels.
fft80K MACRO
pass1levels7pfa5 pass2_10_levels, 512, 2
ENDM
;; Perform a 96K-element FFT. This is done in two passes. Pass 1
;; does 7 levels, pass 2 uses common code to perform the last 10 levels.
fft96K MACRO
pass1levels7pfa6 pass2_10_levels, 512, 2
ENDM
;; Perform a 96K-element all-complex FFT. This is done in two passes. Pass 1
;; does 7 levels, pass 2 uses common code to perform the last 10 levels.
fft96Kp MACRO
pass1levels7complex3 pass2_10_levels, 512, 2
ENDM
;; Perform a 112K-element FFT. This is done in two passes. Pass 1
;; does 7 levels, pass 2 uses common code to perform the last 10 levels.
fft112K MACRO
pass1levels7pfa7 pass2_10_levels, 512, 2
ENDM
;; Perform a 128K-element FFT. This is done in two passes. Pass 1
;; does 7 levels, pass 2 uses common code to perform the last 10 levels.
fft128K MACRO
pass1levels7pfa8 pass2_10_levels, 512, 2
ENDM
;; Perform a 128K-element all-complex FFT. This is done in two passes. Pass 1
;; does 7 levels, pass 2 uses common code to perform the last 10 levels.
fft128Kp MACRO
pass1levels7complex4 pass2_10_levels, 512, 2
ENDM
;; Perform a 160K-element FFT. This is done in two passes. Pass 1
;; does 8 levels, pass 2 uses common code to perform the last 10 levels.
fft160K MACRO
pass1levels8pfa5 pass2_10_levels, 512, 2
ENDM
;; Perform a 192K-element FFT. This is done in two passes. Pass 1
;; does 8 levels, pass 2 uses common code to perform the last 10 levels.
fft192K MACRO
pass1levels8pfa6 pass2_10_levels, 512, 2
ENDM
;; Perform a 192K-element all-complex FFT. This is done in two passes. Pass 1
;; does 8 levels, pass 2 uses common code to perform the last 10 levels.
fft192Kp MACRO
pass1levels8complex3 pass2_10_levels, 512, 2
ENDM
;; Perform a 224K-element FFT. This is done in two passes. Pass 1
;; does 8 levels, pass 2 uses common code to perform the last 10 levels.
fft224K MACRO
pass1levels8pfa7 pass2_10_levels, 512, 2
ENDM
;; Perform a 256K-element FFT. This is done in two passes. Pass 1
;; does 8 levels, pass 2 uses common code to perform the last 10 levels.
fft256K MACRO
pass1levels8pfa8 pass2_10_levels, 512, 2
ENDM
;; Perform a 256K-element all-complex FFT. This is done in two passes. Pass 1
;; does 8 levels, pass 2 uses common code to perform the last 10 levels.
fft256Kp MACRO
pass1levels8complex4 pass2_10_levels, 512, 2
ENDM
;; Perform a 320K-element FFT. This is done in two passes. Pass 1
;; does 9 levels, pass 2 uses common code to perform the last 10 levels.
fft320K MACRO
pass1levels9pfa5 pass2_10_levels, 512, 2
ENDM
;; Perform a 384K-element FFT. This is done in two passes. Pass 1
;; does 9 levels, pass 2 uses common code to perform the last 10 levels.
fft384K MACRO
pass1levels9pfa6 pass2_10_levels, 512, 2
ENDM
;; Perform a 384K-element all-complex FFT. This is done in two passes. Pass 1
;; does 9 levels, pass 2 uses common code to perform the last 10 levels.
fft384Kp MACRO
pass1levels9complex3 pass2_10_levels, 512, 2
ENDM
;; Perform a 448K-element FFT. This is done in two passes. Pass 1
;; does 9 levels, pass 2 uses common code to perform the last 10 levels.
fft448K MACRO
pass1levels9pfa7 pass2_10_levels, 512, 2
ENDM
;; Perform a 512K-element FFT. This is done in two passes. Pass 1
;; does 9 levels, pass 2 uses common code to perform the last 10 levels.
fft512K MACRO
pass1levels9pfa8 pass2_10_levels, 512, 2
ENDM
;; Perform a 512K-element all-complex FFT. This is done in two passes. Pass 1
;; does 9 levels, pass 2 uses common code to perform the last 10 levels.
fft512Kp MACRO
pass1levels9complex4 pass2_10_levels, 512, 2
ENDM
;; Perform a 640K-element FFT. This is done in two passes. Pass 1
;; does 10 levels, pass 2 uses common code to perform the last 10 levels.
fft640K MACRO
pass1levels10pfa5 pass2_10_levels, 512, 2
ENDM
;; Perform a 768K-element FFT. This is done in two passes. Pass 1
;; does 10 levels, pass 2 uses common code to perform the last 10 levels.
fft768K MACRO
pass1levels10pfa6 pass2_10_levels, 512, 2
ENDM
;; Perform a 768K-element all-complex FFT. This is done in two passes. Pass 1
;; does 10 levels, pass 2 uses common code to perform the last 10 levels.
fft768Kp MACRO
pass1levels10complex3 pass2_10_levels, 512, 2
ENDM
;; Perform a 896K-element FFT. This is done in two passes. Pass 1
;; does 10 levels, pass 2 uses common code to perform the last 10 levels.
fft896K MACRO
pass1levels10pfa7 pass2_10_levels, 512, 2
ENDM
;; Perform a 1024K-element FFT. This is done in two passes. Pass 1
;; does 10 levels, pass 2 uses common code to perform the last 10 levels.
fft1024K MACRO clm
pass1levels10pfa8 pass2_10_levels, 512, clm
ENDM
;; Perform a 1024K-element all-complex FFT. This is done in two passes. Pass
;; 1 does 10 levels, pass 2 uses common code to perform the last 10 levels.
fft1024Kp MACRO
pass1levels10complex4 pass2_10_levels, 512, 2
ENDM