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

« back to all changes in this revision

Viewing changes to dft/k7/codelets/t1k7i_6.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:52:16 EDT 2003 */
 
22
/* Generated on Tue Mar  7 10:47:02 EST 2006 */
23
23
 
24
24
#include "config.h"
25
25
 
26
26
 
27
27
 
28
28
/* cheap-mode: VECTGRADE_FULL succeeded. (60 steps) */
29
 
/* Generated by: /homee/stevenj/cvs/fftw3.0.1/genfft-k7/gen_twiddle -no-randomized-cse -n 6 -sign 1 -name t1k7i_6 */
 
29
/* Generated by: ../../../genfft-k7/gen_twiddle -no-randomized-cse -n 6 -sign 1 -name t1k7i_6 */
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
/* The following asm code is Copyright (c) 2000-2001 Stefan Kral */
39
39
.section .rodata
40
40
        .balign 64
 
41
KP500000000KP500000000: .float +0.500000000000000000000000000000000000000000000, +0.500000000000000000000000000000000000000000000
41
42
KP866025403KP866025403: .float +0.866025403784438646763723170752936183471402627, +0.866025403784438646763723170752936183471402627
42
 
KP500000000KP500000000: .float +0.500000000000000000000000000000000000000000000, +0.500000000000000000000000000000000000000000000
43
43
.text
44
44
.text
45
45
        .balign 64
49
49
        movl %ebx, 16(%esp)
50
50
        movl 36(%esp), %edx
51
51
        movl 44(%esp), %ebx
 
52
        movl %esi, 12(%esp)
 
53
        movl %edi, 8(%esp)
52
54
        movl 28(%esp), %ecx
53
 
        movl %esi, 12(%esp)
 
55
        movl %ebp, 4(%esp)
54
56
        movl 32(%esp), %eax
55
 
        movl %edi, 8(%esp)
56
57
        movl 40(%esp), %esi
57
 
        movl %ebp, 4(%esp)
58
58
        leal (,%edx,4), %edx
59
59
        leal (,%ebx,4), %ebx
60
60
        .p2align 4,,7
61
61
.L0:
62
62
        /* promise simd cell size = 8 */ 
63
 
        movq (%ecx,%edx,2), %mm1
64
63
        leal (%edx,%edx,2), %edi
65
 
        movq 8(%eax), %mm0
66
 
        movq (%ecx,%edx), %mm7
 
64
        movq 16(%eax), %mm0
 
65
        movq (%ecx,%edx), %mm4
 
66
        movq (%ecx,%edx,2), %mm7
67
67
        leal (%edx,%edx,4), %ebp
68
 
        movq (%ecx,%edi), %mm4
69
 
        movq 16(%eax), %mm3
 
68
        movq (%ecx,%edi), %mm1
 
69
        movq (%eax), %mm3
70
70
        leal (%edx,%edx,2), %edi
71
 
        movq (%eax), %mm6
 
71
        movq 8(%eax), %mm6
 
72
        pswapd %mm4, %mm5
72
73
        pswapd %mm1, %mm2
73
74
        pfmul %mm0, %mm1
 
75
        pfmul %mm3, %mm4
74
76
        pfmul %mm0, %mm2
75
 
        pswapd %mm4, %mm5
76
77
        pswapd %mm7, %mm0
77
 
        pfmul %mm3, %mm4
 
78
        pfmul %mm3, %mm5
 
79
        movq 24(%eax), %mm3
78
80
        pfmul %mm6, %mm7
79
 
        pfmul %mm3, %mm5
 
81
        pfmul %mm6, %mm0
 
82
        movq (%ecx,%edx,4), %mm6
 
83
        pfpnacc %mm2, %mm1
 
84
        pswapd %mm6, %mm2
 
85
        pfmul %mm3, %mm6
 
86
        pfmul %mm3, %mm2
80
87
        movq 32(%eax), %mm3
81
 
        pfmul %mm6, %mm0
82
 
        movq (%ecx,%ebp), %mm6
83
 
        leal (%edx,%edx,4), %ebp
84
 
        pfpnacc %mm5, %mm4
85
 
        pswapd %mm6, %mm5
86
 
        pfmul %mm3, %mm6
87
 
        pfmul %mm3, %mm5
88
 
        movq 24(%eax), %mm3
89
88
        addl $40, %eax
90
 
        pfnacc %mm6, %mm1
91
 
        movq (%ecx,%edx,4), %mm6
 
89
        pfnacc %mm4, %mm6
 
90
        movq (%ecx,%ebp), %mm4
 
91
        leal (%edx,%edx,4), %ebp
92
92
        pfacc %mm5, %mm2
93
 
        pswapd %mm6, %mm5
94
 
        pfmul %mm3, %mm6
 
93
        pswapd %mm4, %mm5
 
94
        pfmul %mm3, %mm4
95
95
        pfmul %mm3, %mm5
96
 
        movq %mm1, %mm3
97
 
        pfnacc %mm7, %mm6
98
 
        pfacc %mm0, %mm5
99
 
        pfnacc %mm6, %mm1
100
 
        pfacc %mm6, %mm3
101
 
        movq (%ecx), %mm6
 
96
        pfnacc %mm4, %mm7
 
97
        movq %mm2, %mm4
 
98
        pfacc %mm5, %mm0
 
99
        movq (%ecx), %mm5
102
100
        /* simd data load/store barrier */ 
103
 
        movq %mm5, %mm7
104
 
        pfnacc %mm2, %mm5
 
101
        movq %mm7, %mm3
 
102
        pfacc %mm6, %mm7
 
103
        pfnacc %mm6, %mm3
 
104
        movq %mm5, %mm6
 
105
        pfacc %mm0, %mm2
 
106
        pfnacc %mm0, %mm4
 
107
        movq %mm7, %mm0
 
108
        pfadd %mm1, %mm5
 
109
        pfsub %mm1, %mm6
 
110
        movq %mm3, %mm1
105
111
        pfacc %mm2, %mm7
106
 
        movq %mm6, %mm2
107
 
        pfsub %mm4, %mm6
 
112
        pfacc %mm4, %mm3
 
113
        pfnacc %mm0, %mm2
108
114
        movq %mm5, %mm0
109
 
        pfnacc %mm1, %mm5
110
 
        pfadd %mm4, %mm2
111
 
        movq %mm7, %mm4
112
 
        pfacc %mm0, %mm1
113
 
        pfnacc %mm3, %mm7
114
 
        movq %mm6, %mm0
115
 
        pfacc %mm4, %mm3
116
 
        pfmul KP866025403KP866025403, %mm5
117
 
        movq %mm2, %mm4
118
 
        pfadd %mm1, %mm6
119
 
        pfmul KP500000000KP500000000, %mm1
120
 
        pfmul KP866025403KP866025403, %mm7
121
 
        pfadd %mm3, %mm2
 
115
        pfnacc %mm1, %mm4
 
116
        movq %mm6, %mm1
 
117
        pfadd %mm7, %mm5
 
118
        pfmul KP500000000KP500000000, %mm7
 
119
        pfadd %mm3, %mm6
122
120
        pfmul KP500000000KP500000000, %mm3
 
121
        pfmul KP866025403KP866025403, %mm2
 
122
        pfmul KP866025403KP866025403, %mm4
 
123
        movq %mm5, (%ecx)
123
124
        movq %mm6, (%ecx,%edi)
124
 
        pfsub %mm1, %mm0
125
 
        movq %mm2, (%ecx)
126
 
        pfsub %mm3, %mm4
127
 
        movq %mm0, %mm6
128
 
        pfsub %mm5, %mm0
129
 
        movq %mm4, %mm1
130
 
        pfadd %mm5, %mm6
131
 
        pfsub %mm7, %mm4
132
 
        pfadd %mm7, %mm1
133
 
        movq %mm0, (%ecx,%ebp)
134
 
        movq %mm6, (%ecx,%edx)
135
 
        movq %mm4, (%ecx,%edx,2)
136
 
        movq %mm1, (%ecx,%edx,4)
 
125
        pfsub %mm7, %mm0
 
126
        pfsub %mm3, %mm1
 
127
        movq %mm0, %mm5
 
128
        pfadd %mm2, %mm0
 
129
        movq %mm1, %mm7
 
130
        pfadd %mm4, %mm1
 
131
        pfsub %mm2, %mm5
 
132
        pfsub %mm4, %mm7
 
133
        movq %mm0, (%ecx,%edx,4)
 
134
        movq %mm1, (%ecx,%edx)
 
135
        movq %mm5, (%ecx,%edx,2)
 
136
        movq %mm7, (%ecx,%ebp)
137
137
        addl %ebx, %ecx
138
138
        decl %esi
139
139
        jnz .L0
161
161
        .long 6
162
162
        .long nam
163
163
        .long twinstr
164
 
        .zero 4
 
164
        .long fftwf_kdft_ct_k7_pgenus
165
165
        .double 23
166
166
        .double 14
167
167
        .double 0
168
168
        .double 0
169
 
        .long fftwf_kdft_ct_k7_pgenus
170
169
        .long 0
171
170
        .long 0
172
171
        .long 0