2
* Copyright (c) 2003, 2006 Matteo Frigo
3
* Copyright (c) 2003, 2006 Massachusetts Institute of Technology
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
/* This file was automatically generated --- DO NOT EDIT */
22
/* Generated on Sat Jul 1 22:40:46 EDT 2006 */
28
/* cheap-mode: VECTGRADE_FULL succeeded. (296 steps) */
29
/* Generated by: ../../../genfft-k7/gen_notw -no-randomized-cse -n 13 -name n1k7_13 */
33
* $Id: algsimp.ml,v 1.4 2006-01-05 03:04:27 stevenj Exp $
34
* $Id: fft.ml,v 1.4 2006-01-05 03:04:27 stevenj Exp $
35
* $Id: gen_notw.ml,v 1.12 2006-01-05 03:04:27 stevenj Exp $
38
/* The following asm code is Copyright (c) 2000-2001 Stefan Kral */
41
KP500000000KP500000000: .float +0.500000000000000000000000000000000000000000000, +0.500000000000000000000000000000000000000000000
42
KP174138601KP174138601: .float +0.174138601152135905005660794929264742616964676, +0.174138601152135905005660794929264742616964676
43
KP866025403KN866025403: .float +0.866025403784438646763723170752936183471402627, -0.866025403784438646763723170752936183471402627
44
KP575140729KP575140729: .float +0.575140729474003121368385547455453388461001608, +0.575140729474003121368385547455453388461001608
45
KP300238635KP256247671: .float +0.300238635966332641462884626667381504676006424, +0.256247671582936600958684654061725059144125175
46
KP011599105KP156891391: .float +0.011599105605768290721655456654083252189827041, +0.156891391051584611046832726756003269660212636
47
KP256247671KP300238635: .float +0.256247671582936600958684654061725059144125175, +0.300238635966332641462884626667381504676006424
48
KP156891391KP011599105: .float +0.156891391051584611046832726756003269660212636, +0.011599105605768290721655456654083252189827041
49
KN156891391KN011599105: .float -0.156891391051584611046832726756003269660212636, -0.011599105605768290721655456654083252189827041
50
chs_hi: .long 0x00000000, 0x80000000
51
chs_lo: .long 0x80000000, 0x00000000
52
KP300462606KP300462606: .float +0.300462606288665774426601772289207995520941381, +0.300462606288665774426601772289207995520941381
53
KP265966249KP265966249: .float +0.265966249214837287587521063842185948798330267, +0.265966249214837287587521063842185948798330267
54
KP083333333KP083333333: .float +0.083333333333333333333333333333333333333333333, +0.083333333333333333333333333333333333333333333
55
KP258260390KP258260390: .float +0.258260390311744861420450644284508567852516811, +0.258260390311744861420450644284508567852516811
56
chs_lohi: .long 0x80000000, 0x80000000
57
KP387390585KP387390585: .float +0.387390585467617292130675966426762851778775217, +0.387390585467617292130675966426762851778775217
58
KP132983124KP132983124: .float +0.132983124607418643793760531921092974399165133, +0.132983124607418643793760531921092974399165133
59
KP113854479KP113854479: .float +0.113854479055790798974654345867655310534642560, +0.113854479055790798974654345867655310534642560
60
KP251768516KN251768516: .float +0.251768516431883313623436926934233488546674281, -0.251768516431883313623436926934233488546674281
61
KN503537032KP503537032: .float -0.503537032863766627246873853868466977093348562, +0.503537032863766627246873853868466977093348562
62
KP075902986KP075902986: .float +0.075902986037193865983102897245103540356428373, +0.075902986037193865983102897245103540356428373
63
KN1_732050807KP1_732050807: .float -1.732050807568877293527446341505872366942805254, +1.732050807568877293527446341505872366942805254
64
KP2_000000000KP2_000000000: .float +2.000000000000000000000000000000000000000000000, +2.000000000000000000000000000000000000000000000
85
/* promise simd cell size = 8 */
86
leal (%edx,%edx,4), %esi
87
movq (%eax,%edx,8), %mm1
88
movq (%eax,%edx,2), %mm3
89
leal (%esi,%edx,2), %edi
90
movq (%eax,%esi), %mm0
91
leal (%edx,%edx,2), %esi
92
leal (%edi,%edx,4), %ebp
93
movq (%eax,%edi), %mm4
94
movq (%eax,%esi,2), %mm6
96
leal (%edx,%edx,4), %edi
97
movq (%eax,%ebp), %mm7
99
leal (%edx,%edx,8), %ebp
109
movq (%eax,%edx,4), %mm6
114
movq (%eax,%edi,2), %mm4
116
leal (%ebx,%ebx,4), %edi
118
pfmul KP500000000KP500000000, %mm7
121
movq (%eax,%esi), %mm1
125
movq (%eax,%ebp), %mm0
128
leal (%edi,%ebx,2), %ebp
130
movq (%eax,%esi,4), %mm7
133
leal (%ebx,%ebx,2), %esi
137
pfmul KP500000000KP500000000, %mm4
141
pfmul KP500000000KP500000000, %mm7
143
movq (%eax,%edx), %mm4
152
pfmul KP500000000KP500000000, %mm3
157
pfmul KP174138601KP174138601, %mm2
158
pfmul KP866025403KN866025403, %mm1
160
pfmul KP575140729KP575140729, %mm7
162
pfmul KP866025403KN866025403, %mm6
173
pfmul KP300238635KP256247671, %mm5
174
pfmul KP011599105KP156891391, %mm1
181
pfmul KP300238635KP256247671, %mm0
182
pfmul KP011599105KP156891391, %mm7
184
pfmul KP256247671KP300238635, %mm2
185
pfmul KP156891391KP011599105, %mm6
188
pfmul KN156891391KN011599105, %mm3
191
pfmul KP256247671KP300238635, %mm0
209
pfmul KP174138601KP174138601, %mm4
212
pfmul KP575140729KP575140729, %mm7
218
pfmul KP300462606KP300462606, %mm0
223
pfmul KP265966249KP265966249, %mm6
224
pfmul KP083333333KP083333333, %mm3
225
pfmul KP258260390KP258260390, %mm1
240
pfmul KP387390585KP387390585, %mm4
242
pfmul KP132983124KP132983124, %mm0
244
pfmul KP113854479KP113854479, %mm3
247
/* simd data load/store barrier */
248
pfmul KP251768516KN251768516, %mm7
252
pfmul KN503537032KP503537032, %mm2
253
pfmul KP075902986KP075902986, %mm0
260
pfsub 144(%esp), %mm2
276
pfmul KN1_732050807KP1_732050807, %mm3
278
pfmul KP2_000000000KP2_000000000, %mm4
282
pfmul KP2_000000000KP2_000000000, %mm0
286
pfmul KP2_000000000KP2_000000000, %mm1
303
pfmul KP2_000000000KP2_000000000, %mm1
304
pfmul KN1_732050807KP1_732050807, %mm6
315
movq %mm3, (%ecx,%esi,4)
319
movq %mm5, (%ecx,%ebx)
322
movq %mm1, (%ecx,%edi)
323
movq %mm0, (%ecx,%ebx,8)
340
movq %mm7, (%ecx,%ebx,2)
343
movq %mm0, (%ecx,%ebp)
348
movq %mm4, (%ecx,%esi,2)
349
leal (%ebp,%ebx,4), %esi
350
leal (%ebx,%ebx,8), %ebp
355
movq %mm1, (%ecx,%esi)
360
movq %mm5, (%ecx,%ebp)
361
movq %mm2, (%ecx,%edi,2)
362
leal (%ebx,%ebx,2), %edi
363
movq %mm3, (%ecx,%ebx,4)
364
movq %mm6, (%ecx,%edi)
387
.long fftwf_kdft_k7_mgenus
395
.globl fftwf_codelet_n1k7_13
396
fftwf_codelet_n1k7_13:
402
call fftwf_kdft_register