~ubuntu-branches/ubuntu/raring/fftw3/raring-proposed

« back to all changes in this revision

Viewing changes to dft/k7/codelets/t1k7_10.S

  • Committer: Bazaar Package Importer
  • Author(s): Paul Brossier
  • Date: 2006-05-31 13:44:05 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20060531134405-ol9hrbg6bh81sg0c
Tags: 3.1.1-1
* New upstream release (closes: #350327, #338487, #338501)
* Add --enable-portable-binary to use -mtune instead of -march
* Use --with-gcc-arch=G5 / pentium4 on powerpc / i386
* Updated Standards-Version

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (c) 2003 Matteo Frigo
3
 
 * Copyright (c) 2003 Massachusetts Institute of Technology
 
2
 * Copyright (c) 2003, 2006 Matteo Frigo
 
3
 * Copyright (c) 2003, 2006 Massachusetts Institute of Technology
4
4
 *
5
5
 * This program is free software; you can redistribute it and/or modify
6
6
 * it under the terms of the GNU General Public License as published by
19
19
 */
20
20
 
21
21
/* This file was automatically generated --- DO NOT EDIT */
22
 
/* Generated on Sat Jul  5 21:51:57 EDT 2003 */
 
22
/* Generated on Tue Mar  7 10:44:48 EST 2006 */
23
23
 
24
24
#include "config.h"
25
25
 
26
26
 
27
27
 
28
28
/* cheap-mode: VECTGRADE_FULL succeeded. (120 steps) */
29
 
/* Generated by: /homee/stevenj/cvs/fftw3.0.1/genfft-k7/gen_twiddle -no-randomized-cse -n 10 -name t1k7_10 */
 
29
/* Generated by: ../../../genfft-k7/gen_twiddle -no-randomized-cse -n 10 -name t1k7_10 */
30
30
 
31
31
/*
32
32
 * Generator Id's : 
33
 
 * $Id: algsimp.ml,v 1.3 2003/03/15 20:29:42 stevenj Exp $
34
 
 * $Id: fft.ml,v 1.3 2003/03/15 20:29:43 stevenj Exp $
35
 
 * $Id: gen_twiddle.ml,v 1.13 2003/04/18 01:21:45 athena Exp $
 
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_twiddle.ml,v 1.14 2005-12-24 21:08:49 athena Exp $
36
36
 */
37
37
 
38
38
/* CHImovopt_applicable: new! */
39
 
/* CHImovopt_applicable: new! */
40
39
/* The following asm code is Copyright (c) 2000-2001 Stefan Kral */
41
40
.section .rodata
42
41
        .balign 64
66
65
.L0:
67
66
        /* promise simd cell size = 8 */ 
68
67
        leal (%edx,%edx,4), %edi
69
 
        movq (%ecx,%edx,2), %mm1
70
 
        movq 8(%eax), %mm0
71
 
        movq 32(%eax), %mm3
72
 
        leal (%edi,%edx,2), %ebp
73
 
        movq (%ecx,%edi), %mm4
74
 
        movq 48(%eax), %mm6
75
 
        leal (%edx,%edx,2), %edi
76
 
        movq (%ecx,%ebp), %mm7
 
68
        leal (%edx,%edx,2), %ebp
 
69
        movq 32(%eax), %mm0
 
70
        movq (%eax), %mm3
 
71
        movq (%ecx,%edi), %mm1
 
72
        movq (%ecx,%edx), %mm4
 
73
        leal (%ebp,%edx,4), %edi
 
74
        movq 40(%eax), %mm6
 
75
        movq (%ecx,%ebp,2), %mm7
 
76
        leal (%edx,%edx,8), %ebp
77
77
        pswapd %mm1, %mm2
78
 
        leal (%edx,%edx,8), %ebp
 
78
        pswapd %mm4, %mm5
79
79
        pfmul %mm0, %mm1
80
 
        pswapd %mm4, %mm5
 
80
        pfmul %mm3, %mm4
81
81
        pfmul %mm0, %mm2
82
 
        pfmul %mm3, %mm4
83
82
        pswapd %mm7, %mm0
84
 
        pfmul %mm3, %mm5
85
 
        movq (%eax), %mm3
86
83
        pfmul %mm6, %mm7
 
84
        pfmul %mm3, %mm5
 
85
        movq 48(%eax), %mm3
87
86
        pfmul %mm6, %mm0
88
 
        movq (%ecx,%edx), %mm6
89
 
        pfpnacc %mm4, %mm5
90
 
        pfacc %mm7, %mm1
91
 
        movq 40(%eax), %mm7
92
 
        pfnacc %mm0, %mm2
93
 
        movq (%ecx,%edi,2), %mm0
94
 
        pswapd %mm6, %mm4
 
87
        movq (%ecx,%edi), %mm6
 
88
        leal (%edx,%edx,2), %edi
 
89
        pfpnacc %mm1, %mm2
 
90
        pfacc %mm4, %mm7
 
91
        movq (%ecx,%edx,2), %mm4
 
92
        pfnacc %mm5, %mm0
 
93
        movq 8(%eax), %mm5
 
94
        pswapd %mm6, %mm1
 
95
        movq %mm2, 0(%esp)
95
96
        pfmul %mm3, %mm6
96
 
        movq %mm5, 0(%esp)
97
 
        pfmul %mm3, %mm4
98
 
        movq 56(%eax), %mm3
 
97
        pswapd %mm4, %mm2
 
98
        pfmul %mm3, %mm1
 
99
        movq 24(%eax), %mm3
 
100
        pfmul %mm5, %mm2
 
101
        movq %mm0, 16(%esp)
 
102
        movq (%ecx,%edx,4), %mm0
 
103
        pfmul %mm5, %mm4
 
104
        pfnacc %mm1, %mm2
 
105
        movq (%ecx,%ebp), %mm1
99
106
        pswapd %mm0, %mm5
100
 
        pfmul %mm7, %mm0
101
 
        movq %mm2, 24(%esp)
 
107
        pfacc %mm6, %mm4
 
108
        movq 64(%eax), %mm6
 
109
        pfmul %mm3, %mm0
 
110
        pfmul %mm3, %mm5
 
111
        leal (%edx,%edx,2), %ebp
 
112
        pswapd %mm1, %mm3
 
113
        movq %mm2, 8(%esp)
 
114
        movq 16(%eax), %mm2
 
115
        pfmul %mm6, %mm1
 
116
        pfmul %mm6, %mm3
 
117
        movq (%ecx,%edi), %mm6
 
118
        leal (%edx,%edx,4), %edi
 
119
        pfacc %mm1, %mm0
 
120
        movq 56(%eax), %mm1
 
121
        addl $72, %eax
 
122
        pfnacc %mm3, %mm5
 
123
        pswapd %mm6, %mm3
 
124
        pfmul %mm2, %mm6
 
125
        pfmul %mm2, %mm3
 
126
        movq %mm5, 24(%esp)
102
127
        movq (%ecx,%edx,8), %mm2
103
 
        pfmul %mm7, %mm5
104
 
        pfacc %mm6, %mm0
105
 
        movq (%ecx,%edi), %mm6
106
 
        leal (%edx,%edx,4), %edi
107
 
        pswapd %mm2, %mm7
108
 
        pfmul %mm3, %mm2
109
 
        pfnacc %mm4, %mm5
110
 
        movq 16(%eax), %mm4
111
 
        pfmul %mm3, %mm7
112
 
        pswapd %mm6, %mm3
113
 
        pfmul %mm4, %mm6
114
 
        movq %mm5, 8(%esp)
115
 
        movq 24(%eax), %mm5
116
 
        pfmul %mm4, %mm3
117
 
        movq (%ecx,%edx,4), %mm4
 
128
        pswapd %mm2, %mm5
 
129
        pfmul %mm1, %mm2
 
130
        pfmul %mm1, %mm5
 
131
        movq %mm0, %mm1
 
132
        pfnacc %mm7, %mm0
118
133
        pfacc %mm6, %mm2
119
 
        pswapd %mm4, %mm6
120
 
        pfnacc %mm3, %mm7
121
 
        movq 64(%eax), %mm3
122
 
        pfmul %mm5, %mm4
123
 
        addl $72, %eax
124
 
        pfmul %mm5, %mm6
125
 
        movq (%ecx,%ebp), %mm5
126
 
        leal (%edi,%edx,2), %ebp
127
 
        movq %mm7, 16(%esp)
128
 
        pswapd %mm5, %mm7
129
 
        pfmul %mm3, %mm5
130
 
        pfmul %mm3, %mm7
 
134
        movq %mm4, %mm6
 
135
        pfacc %mm7, %mm1
 
136
        pfnacc %mm3, %mm5
 
137
        pfnacc %mm2, %mm4
 
138
        pfacc %mm2, %mm6
 
139
        movq 24(%esp), %mm2
131
140
        movq %mm1, %mm3
132
 
        pfnacc %mm2, %mm1
133
 
        pfacc %mm5, %mm4
134
 
        pfacc %mm2, %mm3
135
 
        movq %mm1, %mm2
136
 
        pfnacc %mm7, %mm6
137
 
        movq %mm4, %mm5
 
141
        movq %mm4, %mm7
138
142
        pfnacc %mm0, %mm4
139
 
        movq %mm3, %mm7
140
 
        pfacc %mm0, %mm5
141
 
        movq 24(%esp), %mm0
142
 
        pfacc %mm4, %mm2
143
 
        pfnacc %mm4, %mm1
144
 
        movq 16(%esp), %mm4
145
 
        pfacc %mm5, %mm3
146
 
        pfnacc %mm7, %mm5
147
 
        movq %mm0, %mm7
148
 
        pfnacc %mm4, %mm7
149
 
        pfacc %mm4, %mm0
150
 
        movq %mm5, 32(%esp)
 
143
        pfnacc %mm6, %mm1
 
144
        pfacc %mm0, %mm7
 
145
        movq 16(%esp), %mm0
 
146
        pfacc %mm3, %mm6
 
147
        movq %mm2, %mm3
 
148
        movq %mm4, 32(%esp)
151
149
        movq 8(%esp), %mm4
152
 
        movq %mm6, %mm5
153
 
        pfnacc %mm4, %mm5
154
 
        pfacc %mm4, %mm6
155
 
        movq %mm7, %mm4
156
 
        pfacc %mm5, %mm4
157
 
        pfnacc %mm5, %mm7
158
 
        movq %mm0, %mm5
159
 
        pfacc %mm6, %mm0
160
 
        pfnacc %mm5, %mm6
161
 
        movq %mm2, %mm5
162
 
        pfacc %mm4, %mm2
163
 
        pfnacc %mm4, %mm5
164
 
        movq %mm0, 48(%esp)
165
 
        movq 0(%esp), %mm4
166
 
        movq (%ecx), %mm0
 
150
        pfnacc %mm0, %mm2
 
151
        pfacc %mm0, %mm3
 
152
        movq %mm4, %mm0
 
153
        pfnacc %mm5, %mm4
 
154
        pfacc %mm5, %mm0
 
155
        movq %mm3, %mm5
 
156
        pfnacc %mm0, %mm3
 
157
        pfacc %mm5, %mm0
 
158
        movq %mm4, %mm5
 
159
        pfacc %mm2, %mm4
 
160
        pfnacc %mm2, %mm5
 
161
        movq %mm6, %mm2
 
162
        pfnacc %mm0, %mm2
 
163
        pfacc %mm0, %mm6
 
164
        movq %mm4, 48(%esp)
 
165
        movq %mm5, 40(%esp)
 
166
        movq 0(%esp), %mm0
 
167
        movq (%ecx), %mm4
167
168
        /* simd data load/store barrier */ 
168
 
        movq %mm6, 40(%esp)
169
 
        pswapd %mm4, %mm4
170
 
        pfmul KP559016994KP559016994, %mm5
171
 
        movq %mm0, %mm6
172
 
        pfadd %mm4, %mm0
173
 
        pfsub %mm4, %mm6
174
 
        movq %mm2, %mm4
175
 
        pfmul KP250000000KP250000000, %mm4
176
 
        movq %mm0, 56(%esp)
 
169
        pfmul KP559016994KP559016994, %mm2
 
170
        pswapd %mm0, %mm0
 
171
        movq %mm4, %mm5
 
172
        pfsub %mm0, %mm4
 
173
        pfadd %mm0, %mm5
177
174
        movq %mm6, %mm0
178
 
        pfadd %mm2, %mm0
179
 
        movq %mm7, %mm2
180
 
        pfmul KP587785252KP951056516, %mm7
181
 
        pfsub %mm4, %mm6
 
175
        pfmul KP250000000KP250000000, %mm0
 
176
        movq %mm4, 56(%esp)
 
177
        movq %mm5, %mm4
 
178
        pfadd %mm6, %mm5
 
179
        pswapd %mm3, %mm6
 
180
        pfmul KP587785252KP951056516, %mm3
 
181
        pfmul KP587785252KP951056516, %mm6
 
182
        pfsub %mm0, %mm4
 
183
        movq %mm1, %mm0
 
184
        pfmul KP587785252KP951056516, %mm1
 
185
        pfmul KP951056516KP587785252, %mm0
 
186
        movq %mm5, (%ecx)
 
187
        movq %mm4, %mm5
 
188
        pfsub %mm2, %mm4
 
189
        pfacc %mm1, %mm3
 
190
        pfadd %mm2, %mm5
 
191
        pfnacc %mm0, %mm6
 
192
        movq %mm4, %mm1
 
193
        movq 48(%esp), %mm0
 
194
        pxor chs_lo, %mm3
 
195
        movq %mm5, %mm2
 
196
        pfadd %mm6, %mm4
 
197
        pfsub %mm6, %mm1
 
198
        movq %mm7, %mm6
 
199
        pfsub %mm3, %mm5
 
200
        pfacc %mm0, %mm6
 
201
        movq %mm4, (%ecx,%edx,2)
 
202
        movq 56(%esp), %mm4
 
203
        pfnacc %mm0, %mm7
 
204
        pfadd %mm3, %mm2
 
205
        movq 40(%esp), %mm3
 
206
        movq %mm1, (%ecx,%edx,8)
 
207
        movq %mm5, (%ecx,%ebp,2)
 
208
        movq 32(%esp), %mm5
 
209
        leal (%edx,%edx,8), %ebp
 
210
        movq %mm4, %mm0
 
211
        pfadd %mm6, %mm4
 
212
        pfmul KP250000000KP250000000, %mm6
 
213
        pfmul KP559016994KP559016994, %mm7
 
214
        movq %mm2, (%ecx,%edx,4)
 
215
        movq %mm3, %mm1
 
216
        pfmul KP951056516KP587785252, %mm3
 
217
        movq %mm5, %mm2
 
218
        pfmul KP951056516KP587785252, %mm5
 
219
        pswapd %mm2, %mm2
 
220
        pfmul KP587785252KP951056516, %mm1
 
221
        movq %mm4, (%ecx,%edi)
 
222
        pfsub %mm6, %mm0
182
223
        pfmul KP951056516KP587785252, %mm2
183
 
        pswapd %mm1, %mm4
184
 
        pfmul KP951056516KP587785252, %mm1
185
 
        movq %mm0, (%ecx,%edi)
186
 
        movq %mm5, %mm0
187
 
        leal (%edx,%edx,2), %edi
188
 
        pfmul KP951056516KP587785252, %mm4
189
 
        pfsubr %mm6, %mm5
190
 
        pfadd %mm6, %mm0
191
 
        pfacc %mm1, %mm2
192
 
        movq 48(%esp), %mm1
193
 
        movq %mm5, %mm6
194
 
        pfnacc %mm4, %mm7
195
 
        movq %mm3, %mm4
196
 
        pxor chs_lo, %mm2
197
 
        pfacc %mm1, %mm3
198
 
        pfnacc %mm1, %mm4
199
 
        movq 32(%esp), %mm1
200
 
        pfadd %mm7, %mm5
201
 
        pfsub %mm7, %mm6
202
 
        movq %mm0, %mm7
203
 
        pfsub %mm2, %mm0
204
 
        pfadd %mm2, %mm7
205
 
        movq 56(%esp), %mm2
206
 
        pfmul KP559016994KP559016994, %mm4
 
224
        movq %mm7, %mm4
 
225
        pfacc %mm5, %mm3
 
226
        pfadd %mm0, %mm4
 
227
        pfsubr %mm0, %mm7
 
228
        pfnacc %mm2, %mm1
 
229
        pxor chs_lo, %mm3
 
230
        movq %mm4, %mm5
 
231
        movq %mm7, %mm6
 
232
        pfsub %mm1, %mm7
 
233
        pfadd %mm3, %mm5
 
234
        pfsub %mm3, %mm4
 
235
        pfadd %mm1, %mm6
207
236
        movq %mm5, (%ecx,%ebp)
208
 
        leal (%edx,%edx,8), %ebp
209
 
        movq %mm6, (%ecx,%edi)
210
 
        movq %mm1, %mm6
211
 
        pfmul KP587785252KP951056516, %mm1
212
 
        movq %mm0, (%ecx,%edx)
213
 
        movq %mm7, (%ecx,%ebp)
214
 
        movq %mm2, %mm5
215
 
        movq 40(%esp), %mm7
216
 
        pfadd %mm3, %mm2
217
 
        pfmul KP250000000KP250000000, %mm3
218
 
        pfmul KP951056516KP587785252, %mm6
219
 
        pswapd %mm7, %mm0
220
 
        pfmul KP587785252KP951056516, %mm7
221
 
        pfmul KP587785252KP951056516, %mm0
222
 
        movq %mm2, (%ecx)
223
 
        pfsub %mm3, %mm5
224
 
        pfacc %mm1, %mm7
225
 
        movq %mm5, %mm2
226
 
        pfsub %mm4, %mm5
227
 
        pfnacc %mm6, %mm0
228
 
        pfadd %mm4, %mm2
229
 
        pxor chs_lo, %mm7
230
 
        movq %mm5, %mm3
231
 
        pfsub %mm0, %mm5
232
 
        movq %mm2, %mm1
233
 
        pfadd %mm0, %mm3
234
 
        pfsub %mm7, %mm2
235
 
        pfadd %mm7, %mm1
236
 
        movq %mm5, (%ecx,%edx,8)
237
 
        movq %mm3, (%ecx,%edx,2)
238
 
        movq %mm2, (%ecx,%edi,2)
239
 
        movq %mm1, (%ecx,%edx,4)
 
237
        leal (%edi,%edx,2), %ebp
 
238
        leal (%edx,%edx,2), %edi
 
239
        movq %mm4, (%ecx,%edx)
 
240
        movq %mm6, (%ecx,%ebp)
 
241
        movq %mm7, (%ecx,%edi)
240
242
        addl %ebx, %ecx
241
243
        decl %esi
242
244
        jnz .L0
264
266
        .long 10
265
267
        .long nam
266
268
        .long twinstr
267
 
        .zero 4
 
269
        .long fftwf_kdft_ct_k7_mgenus
268
270
        .double 51
269
271
        .double 30
270
272
        .double 0
271
273
        .double 0
272
 
        .long fftwf_kdft_ct_k7_mgenus
273
274
        .long 0
274
275
        .long 0
275
276
        .long 0