annotate mp3lib/dct64_3dnow.s @ 1:3b5f5d1c5041

Initial revision
author arpi_esp
date Sat, 24 Feb 2001 20:28:24 +0000
parents
children 03b7e2955a20
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 ///
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
2 /// Replacement of dct64() with AMD's 3DNow! SIMD operations support
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3 ///
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 /// Syuuhei Kashiyama <squash@mb.kcom.ne.jp>
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 ///
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
6 /// The author of this program disclaim whole expressed or implied
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7 /// warranties with regard to this program, and in no event shall the
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8 /// author of this program liable to whatever resulted from the use of
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
9 /// this program. Use it at your own risk.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
10 ///
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
11
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12 .globl dct64_3dnow
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 .type dct64_3dnow,@function
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14 dct64_3dnow:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15 subl $256,%esp
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 pushl %ebp
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 pushl %edi
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18 pushl %esi
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19 pushl %ebx
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 leal 16(%esp),%ebx
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 movl 284(%esp),%edi
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22 movl 276(%esp),%ebp
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 movl 280(%esp),%edx
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 leal 128(%ebx),%esi
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26 / femms
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 // 1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 movl pnts,%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 movq 0(%edi),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 movq %mm0,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32 movd 124(%edi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33 punpckldq 120(%edi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 movq 0(%eax),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 movq %mm0,0(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 pfsub %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 pfmul %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39 movd %mm1,124(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41 movd %mm1,120(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 movq 8(%edi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44 movd 116(%edi),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 punpckldq 112(%edi),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 movq 8(%eax),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48 movq %mm4,8(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49 pfsub %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 pfmul %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 movd %mm5,116(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 movd %mm5,112(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 movq 16(%edi),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
55 movq %mm0,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 movd 108(%edi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 punpckldq 104(%edi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
58 movq 16(%eax),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
60 movq %mm0,16(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 pfsub %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62 pfmul %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63 movd %mm1,108(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65 movd %mm1,104(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
66 movq 24(%edi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 movd 100(%edi),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
69 punpckldq 96(%edi),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70 movq 24(%eax),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
71 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
72 movq %mm4,24(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
73 pfsub %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
74 pfmul %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75 movd %mm5,100(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
76 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
77 movd %mm5,96(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78 movq 32(%edi),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
79 movq %mm0,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
80 movd 92(%edi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
81 punpckldq 88(%edi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
82 movq 32(%eax),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84 movq %mm0,32(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
85 pfsub %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
86 pfmul %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
87 movd %mm1,92(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
88 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
89 movd %mm1,88(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
90 movq 40(%edi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
91 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
92 movd 84(%edi),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
93 punpckldq 80(%edi),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
94 movq 40(%eax),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
95 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
96 movq %mm4,40(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
97 pfsub %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
98 pfmul %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99 movd %mm5,84(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101 movd %mm5,80(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
102 movq 48(%edi),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
103 movq %mm0,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
104 movd 76(%edi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105 punpckldq 72(%edi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
106 movq 48(%eax),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
107 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
108 movq %mm0,48(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
109 pfsub %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
110 pfmul %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
111 movd %mm1,76(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
112 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
113 movd %mm1,72(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
114 movq 56(%edi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
115 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
116 movd 68(%edi),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
117 punpckldq 64(%edi),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
118 movq 56(%eax),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
119 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
120 movq %mm4,56(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
121 pfsub %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
122 pfmul %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
123 movd %mm5,68(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
124 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
125 movd %mm5,64(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
126
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
127 // 2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
128 movl pnts+4,%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
129 / 0, 14
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
130 movq 0(%ebx),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
131 movq %mm0,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
132 movd 60(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
133 punpckldq 56(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
134 movq 0(%eax),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
135 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
136 movq %mm0,0(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
137 pfsub %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
138 pfmul %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
139 movd %mm1,60(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
140 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
141 movd %mm1,56(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
142 / 16, 30
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
143 movq 64(%ebx),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
144 movq %mm0,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
145 movd 124(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
146 punpckldq 120(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
147 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
148 movq %mm0,64(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
149 pfsubr %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
150 pfmul %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
151 movd %mm1,124(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
152 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 movd %mm1,120(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
154 movq 8(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
155 / 2, 12
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
156 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
157 movd 52(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
158 punpckldq 48(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
159 movq 8(%eax),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
160 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
161 movq %mm4,8(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
162 pfsub %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
163 pfmul %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
164 movd %mm5,52(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
165 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
166 movd %mm5,48(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
167 movq 72(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
168 / 18, 28
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
169 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
170 movd 116(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
171 punpckldq 112(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
172 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
173 movq %mm4,72(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
174 pfsubr %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
175 pfmul %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
176 movd %mm5,116(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
177 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
178 movd %mm5,112(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
179 movq 16(%ebx),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
180 / 4, 10
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
181 movq %mm0,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
182 movd 44(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
183 punpckldq 40(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
184 movq 16(%eax),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
185 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
186 movq %mm0,16(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
187 pfsub %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
188 pfmul %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
189 movd %mm1,44(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
190 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
191 movd %mm1,40(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
192 movq 80(%ebx),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
193 / 20, 26
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
194 movq %mm0,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
195 movd 108(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
196 punpckldq 104(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
197 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
198 movq %mm0,80(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
199 pfsubr %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
200 pfmul %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
201 movd %mm1,108(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
202 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
203 movd %mm1,104(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
204 movq 24(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
205 / 6, 8
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
206 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
207 movd 36(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
208 punpckldq 32(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
209 movq 24(%eax),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
210 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
211 movq %mm4,24(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
212 pfsub %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
213 pfmul %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
214 movd %mm5,36(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
215 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
216 movd %mm5,32(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
217 movq 88(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
218 / 22, 24
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
219 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
220 movd 100(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
221 punpckldq 96(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
222 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
223 movq %mm4,88(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
224 pfsubr %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
225 pfmul %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
226 movd %mm5,100(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
227 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
228 movd %mm5,96(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
229
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
230 // 3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
231 movl pnts+8,%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
232 movq 0(%eax),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
233 movq 8(%eax),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
234 movq 0(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
235 / 0, 6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
236 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
237 movd 28(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
238 punpckldq 24(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
239 pfadd %mm4,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
240 pfsub %mm4,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
241 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
242 movq %mm2,0(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
243 movd %mm3,28(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
244 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
245 movd %mm3,24(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
246 movq 8(%esi),%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
247 / 2, 4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
248 movq %mm5,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
249 movd 20(%esi),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
250 punpckldq 16(%esi),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
251 pfadd %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
252 pfsub %mm7,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
253 pfmul %mm1,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
254 movq %mm5,8(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
255 movd %mm6,20(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
256 psrlq $32,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
257 movd %mm6,16(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
258 movq 32(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
259 / 8, 14
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
260 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
261 movd 60(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
262 punpckldq 56(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
263 pfadd %mm4,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
264 pfsubr %mm4,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
265 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
266 movq %mm2,32(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
267 movd %mm3,60(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
268 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
269 movd %mm3,56(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
270 movq 40(%esi),%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
271 / 10, 12
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
272 movq %mm5,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
273 movd 52(%esi),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
274 punpckldq 48(%esi),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
275 pfadd %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
276 pfsubr %mm7,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
277 pfmul %mm1,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
278 movq %mm5,40(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
279 movd %mm6,52(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
280 psrlq $32,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
281 movd %mm6,48(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
282 movq 64(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
283 / 16, 22
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
284 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
285 movd 92(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
286 punpckldq 88(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
287 pfadd %mm4,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
288 pfsub %mm4,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
289 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
290 movq %mm2,64(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
291 movd %mm3,92(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
292 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
293 movd %mm3,88(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
294 movq 72(%esi),%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
295 / 18, 20
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
296 movq %mm5,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
297 movd 84(%esi),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
298 punpckldq 80(%esi),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
299 pfadd %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
300 pfsub %mm7,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
301 pfmul %mm1,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
302 movq %mm5,72(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
303 movd %mm6,84(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
304 psrlq $32,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
305 movd %mm6,80(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
306 movq 96(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
307 / 24, 30
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
308 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
309 movd 124(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
310 punpckldq 120(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
311 pfadd %mm4,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
312 pfsubr %mm4,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
313 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
314 movq %mm2,96(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
315 movd %mm3,124(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
316 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
317 movd %mm3,120(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
318 movq 104(%esi),%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
319 / 26, 28
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
320 movq %mm5,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
321 movd 116(%esi),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
322 punpckldq 112(%esi),%mm7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
323 pfadd %mm7,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
324 pfsubr %mm7,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
325 pfmul %mm1,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
326 movq %mm5,104(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
327 movd %mm6,116(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
328 psrlq $32,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
329 movd %mm6,112(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
330
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
331 // 4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
332 movl pnts+12,%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
333 movq 0(%eax),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
334 movq 0(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
335 / 0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
336 movq %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
337 movd 12(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
338 punpckldq 8(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
339 pfadd %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
340 pfsub %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
341 pfmul %mm0,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
342 movq %mm1,0(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
343 movd %mm2,12(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
344 psrlq $32,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
345 movd %mm2,8(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
346 movq 16(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
347 / 4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
348 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
349 movd 28(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
350 punpckldq 24(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
351 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
352 pfsubr %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
353 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
354 movq %mm4,16(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
355 movd %mm5,28(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
356 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
357 movd %mm5,24(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
358 movq 32(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
359 / 8
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
360 movq %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
361 movd 44(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
362 punpckldq 40(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
363 pfadd %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
364 pfsub %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
365 pfmul %mm0,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
366 movq %mm1,32(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
367 movd %mm2,44(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
368 psrlq $32,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
369 movd %mm2,40(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
370 movq 48(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
371 / 12
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
372 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
373 movd 60(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
374 punpckldq 56(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
375 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
376 pfsubr %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
377 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
378 movq %mm4,48(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
379 movd %mm5,60(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
380 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
381 movd %mm5,56(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
382 movq 64(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
383 / 16
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
384 movq %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
385 movd 76(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
386 punpckldq 72(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
387 pfadd %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
388 pfsub %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
389 pfmul %mm0,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
390 movq %mm1,64(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
391 movd %mm2,76(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
392 psrlq $32,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
393 movd %mm2,72(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
394 movq 80(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
395 / 20
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
396 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
397 movd 92(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
398 punpckldq 88(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
399 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
400 pfsubr %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
401 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
402 movq %mm4,80(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
403 movd %mm5,92(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
404 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
405 movd %mm5,88(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
406 movq 96(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
407 / 24
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
408 movq %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
409 movd 108(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
410 punpckldq 104(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
411 pfadd %mm3,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
412 pfsub %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
413 pfmul %mm0,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
414 movq %mm1,96(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
415 movd %mm2,108(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
416 psrlq $32,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
417 movd %mm2,104(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
418 movq 112(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
419 / 28
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
420 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
421 movd 124(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
422 punpckldq 120(%ebx),%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
423 pfadd %mm6,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
424 pfsubr %mm6,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
425 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
426 movq %mm4,112(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
427 movd %mm5,124(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
428 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
429 movd %mm5,120(%esi)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
430
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
431 // 5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
432 movl $-1,%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
433 movd %eax,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
434 movl $1,%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
435 movd %eax,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
436 / L | H
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
437 punpckldq %mm1,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
438 pi2fd %mm0,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
439 / 1.0 | -1.0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
440 movd %eax,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
441 pi2fd %mm1,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
442 movl pnts+16,%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
443 movd 0(%eax),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
444 punpckldq %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
445 / 1.0 | cos0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
446 movq 0(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
447 / 0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
448 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
449 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
450 pfacc %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
451 pfmul %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
452 movq %mm2,0(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
453 movq 8(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
454 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
455 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
456 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
457 pfmul %mm0,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
458 pfmul %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
459 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
460 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
461 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
462 movq %mm4,8(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
463 movq 16(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
464 / 4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
465 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
466 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
467 pfacc %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
468 pfmul %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
469 movq 24(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
470 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
471 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
472 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
473 pfmul %mm0,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
474 pfmul %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
475 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
476 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
477 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
478 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
479 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
480 pfadd %mm4,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
481 pfadd %mm3,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
482 movq %mm2,16(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
483 movq %mm4,24(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
484 movq 32(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
485 / 8
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
486 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
487 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
488 pfacc %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
489 pfmul %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
490 movq %mm2,32(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
491 movq 40(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
492 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
493 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
494 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
495 pfmul %mm0,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
496 pfmul %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
497 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
498 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
499 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
500 movq %mm4,40(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
501 movq 48(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
502 / 12
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
503 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
504 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
505 pfacc %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
506 pfmul %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
507 movq 56(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
508 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
509 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
510 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
511 pfmul %mm0,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
512 pfmul %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
513 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
514 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
515 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
516 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
517 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
518 pfadd %mm4,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
519 pfadd %mm3,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
520 movq %mm2,48(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
521 movq %mm4,56(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
522 movq 64(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
523 / 16
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
524 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
525 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
526 pfacc %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
527 pfmul %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
528 movq %mm2,64(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
529 movq 72(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
530 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
531 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
532 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
533 pfmul %mm0,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
534 pfmul %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
535 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
536 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
537 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
538 movq %mm4,72(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
539 movq 80(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
540 / 20
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
541 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
542 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
543 pfacc %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
544 pfmul %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
545 movq 88(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
546 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
547 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
548 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
549 pfmul %mm0,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
550 pfmul %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
551 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
552 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
553 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
554 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
555 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
556 pfadd %mm4,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
557 pfadd %mm3,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
558 movq %mm2,80(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
559 movq %mm4,88(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
560 movq 96(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
561 / 24
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
562 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
563 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
564 pfacc %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
565 pfmul %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
566 movq %mm2,96(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
567 movq 104(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
568 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
569 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
570 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
571 pfmul %mm0,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
572 pfmul %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
573 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
574 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
575 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
576 movq %mm4,104(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
577 movq 112(%esi),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
578 / 28
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
579 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
580 pfmul %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
581 pfacc %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
582 pfmul %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
583 movq 120(%esi),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
584 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
585 pfmul %mm0,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
586 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
587 pfmul %mm0,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
588 pfmul %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
589 movq %mm4,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
590 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
591 pfacc %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
592 movq %mm2,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
593 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
594 pfadd %mm4,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
595 pfadd %mm3,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
596 movq %mm2,112(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
597 movq %mm4,120(%ebx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
598
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
599 // Phase6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
600 movl 0(%ebx),%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
601 movl %eax,1024(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
602 movl 4(%ebx),%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
603 movl %eax,0(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
604 movl %eax,0(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
605 movl 8(%ebx),%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
606 movl %eax,512(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
607 movl 12(%ebx),%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
608 movl %eax,512(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
609
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
610 movl 16(%ebx),%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
611 movl %eax,768(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
612 movl 20(%ebx),%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
613 movl %eax,256(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
614
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
615 movl 24(%ebx),%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
616 movl %eax,256(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
617 movl 28(%ebx),%eax
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
618 movl %eax,768(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
619
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
620 movq 32(%ebx),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
621 movq 48(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
622 pfadd %mm1,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
623 movd %mm0,896(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
624 psrlq $32,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
625 movd %mm0,128(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
626 movq 40(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
627 pfadd %mm2,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
628 movd %mm1,640(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
629 psrlq $32,%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
630 movd %mm1,384(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
631
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
632 movq 56(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
633 pfadd %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
634 movd %mm2,384(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
635 psrlq $32,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
636 movd %mm2,640(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
637
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
638 movd 36(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
639 pfadd %mm4,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
640 movd %mm3,128(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
641 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
642 movd %mm3,896(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
643 movq 96(%ebx),%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
644 movq 64(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
645
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
646 movq 112(%ebx),%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
647 pfadd %mm2,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
648 movq %mm0,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
649 pfadd %mm1,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
650 movd %mm3,960(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
651 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
652 movd %mm3,64(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
653 movq 80(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
654 pfadd %mm1,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
655 movd %mm0,832(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
656 psrlq $32,%mm0
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
657 movd %mm0,192(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
658 movq 104(%ebx),%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
659 pfadd %mm3,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
660 movq %mm2,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
661 pfadd %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
662 movd %mm4,704(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
663 psrlq $32,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
664 movd %mm4,320(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
665 movq 72(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
666 pfadd %mm1,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
667 movd %mm2,576(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
668 psrlq $32,%mm2
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
669 movd %mm2,448(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
670
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
671 movq 120(%ebx),%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
672 pfadd %mm4,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
673 movq %mm3,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
674 pfadd %mm1,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
675 movd %mm5,448(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
676 psrlq $32,%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
677 movd %mm5,576(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
678 movq 88(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
679 pfadd %mm1,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
680 movd %mm3,320(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
681 psrlq $32,%mm3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
682 movd %mm3,704(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
683
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
684 movd 100(%ebx),%mm5
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
685 pfadd %mm5,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
686 movq %mm4,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
687 pfadd %mm1,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
688 movd %mm6,192(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
689 psrlq $32,%mm6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
690 movd %mm6,832(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
691 movd 68(%ebx),%mm1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
692 pfadd %mm1,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
693 movd %mm4,64(%ebp)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
694 psrlq $32,%mm4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
695 movd %mm4,960(%edx)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
696
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
697 / femms
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
698
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
699 popl %ebx
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
700 popl %esi
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
701 popl %edi
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
702 popl %ebp
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
703 addl $256,%esp
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
704
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
705 ret
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
706