Mercurial > mplayer.hg
annotate mp3lib/dct64_3dnow.c @ 34757:da38eb1e2069
subassconvert: handle "\r\n" line ends
Previously the code converting text subtitles to ASS format converted newline
characters, and only those, to ASS "new line" markup. If the subtitles
contained "\r\n", the "\r" was thus left in the text. In previous libass
versions the "\r" was not visible, but in the current one it produces an empty
box. Improve the conversion to remove the "\r" in that case. Also treat a lone
"\r" as a newline.
Picked from mplayer2/3e0a2705
author | cboesch |
---|---|
date | Sat, 07 Apr 2012 11:17:09 +0000 |
parents | d0f70692a140 |
children |
rev | line source |
---|---|
4148 | 1 /* |
2 * This code was taken from http://www.mpg123.org | |
3 * See ChangeLog of mpg123-0.59s-pre.1 for detail | |
4 * Applied to mplayer by Nick Kurshev <nickols_k@mail.ru> | |
5 * Partial 3dnow! optimization by Nick Kurshev | |
6 * | |
7 * TODO: optimize scalar 3dnow! code | |
8 * Warning: Phases 7 & 8 are not tested | |
9 */ | |
10 | |
16989 | 11 #include "config.h" |
12 #include "mangle.h" | |
30167
347d152a5cfa
Refactor real --> float #define to a typedef in a common header.
diego
parents:
27757
diff
changeset
|
13 #include "mpg123.h" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
14 #include "libavutil/x86_cpu.h" |
5291 | 15 |
13918 | 16 static unsigned long long int attribute_used __attribute__((aligned(8))) x_plus_minus_3dnow = 0x8000000000000000ULL; |
12292 | 17 static float attribute_used plus_1f = 1.0; |
4148 | 18 |
23441 | 19 void dct64_MMX_3dnow(short *a,short *b,real *c) |
4148 | 20 { |
21 char tmp[256]; | |
27757
b5a46071062a
Replace all occurrences of '__volatile__' and '__volatile' by plain 'volatile'.
diego
parents:
27754
diff
changeset
|
22 __asm__ volatile( |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
23 " mov %2,%%"REG_a"\n\t" |
4148 | 24 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
25 " lea 128+%3,%%"REG_d"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
26 " mov %0,%%"REG_S"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
27 " mov %1,%%"REG_D"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
28 " mov $"MANGLE(costab_mmx)",%%"REG_b"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
29 " lea %3,%%"REG_c"\n\t" |
4148 | 30 |
31 /* Phase 1*/ | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
32 " movq (%%"REG_a"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
33 " movq 8(%%"REG_a"), %%mm4\n\t" |
30990 | 34 " movq %%mm0, %%mm3\n\t" |
35 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
36 " movq 120(%%"REG_a"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
37 " movq 112(%%"REG_a"), %%mm5\n\t" |
4148 | 38 /* n.b.: pswapd*/ |
30990 | 39 " movq %%mm1, %%mm2\n\t" |
40 " movq %%mm5, %%mm6\n\t" | |
41 " psrlq $32, %%mm1\n\t" | |
42 " psrlq $32, %%mm5\n\t" | |
43 " punpckldq %%mm2, %%mm1\n\t" | |
44 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 45 /**/ |
30990 | 46 " pfadd %%mm1, %%mm0\n\t" |
47 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
48 " movq %%mm0, (%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
49 " movq %%mm4, 8(%%"REG_d")\n\t" |
30990 | 50 " pfsub %%mm1, %%mm3\n\t" |
51 " pfsub %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
52 " pfmul (%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
53 " pfmul 8(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
54 " movd %%mm3, 124(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
55 " movd %%mm7, 116(%%"REG_d")\n\t" |
30990 | 56 " psrlq $32, %%mm3\n\t" |
57 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
58 " movd %%mm3, 120(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
59 " movd %%mm7, 112(%%"REG_d")\n\t" |
4148 | 60 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
61 " movq 16(%%"REG_a"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
62 " movq 24(%%"REG_a"), %%mm4\n\t" |
30990 | 63 " movq %%mm0, %%mm3\n\t" |
64 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
65 " movq 104(%%"REG_a"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
66 " movq 96(%%"REG_a"), %%mm5\n\t" |
4148 | 67 /* n.b.: pswapd*/ |
30990 | 68 " movq %%mm1, %%mm2\n\t" |
69 " movq %%mm5, %%mm6\n\t" | |
70 " psrlq $32, %%mm1\n\t" | |
71 " psrlq $32, %%mm5\n\t" | |
72 " punpckldq %%mm2, %%mm1\n\t" | |
73 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 74 /**/ |
30990 | 75 " pfadd %%mm1, %%mm0\n\t" |
76 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
77 " movq %%mm0, 16(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
78 " movq %%mm4, 24(%%"REG_d")\n\t" |
30990 | 79 " pfsub %%mm1, %%mm3\n\t" |
80 " pfsub %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
81 " pfmul 16(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
82 " pfmul 24(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
83 " movd %%mm3, 108(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
84 " movd %%mm7, 100(%%"REG_d")\n\t" |
30990 | 85 " psrlq $32, %%mm3\n\t" |
86 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
87 " movd %%mm3, 104(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
88 " movd %%mm7, 96(%%"REG_d")\n\t" |
4148 | 89 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
90 " movq 32(%%"REG_a"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
91 " movq 40(%%"REG_a"), %%mm4\n\t" |
30990 | 92 " movq %%mm0, %%mm3\n\t" |
93 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
94 " movq 88(%%"REG_a"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
95 " movq 80(%%"REG_a"), %%mm5\n\t" |
4148 | 96 /* n.b.: pswapd*/ |
30990 | 97 " movq %%mm1, %%mm2\n\t" |
98 " movq %%mm5, %%mm6\n\t" | |
99 " psrlq $32, %%mm1\n\t" | |
100 " psrlq $32, %%mm5\n\t" | |
101 " punpckldq %%mm2, %%mm1\n\t" | |
102 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 103 /**/ |
30990 | 104 " pfadd %%mm1, %%mm0\n\t" |
105 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
106 " movq %%mm0, 32(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
107 " movq %%mm4, 40(%%"REG_d")\n\t" |
30990 | 108 " pfsub %%mm1, %%mm3\n\t" |
109 " pfsub %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
110 " pfmul 32(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
111 " pfmul 40(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
112 " movd %%mm3, 92(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
113 " movd %%mm7, 84(%%"REG_d")\n\t" |
30990 | 114 " psrlq $32, %%mm3\n\t" |
115 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
116 " movd %%mm3, 88(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
117 " movd %%mm7, 80(%%"REG_d")\n\t" |
4148 | 118 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
119 " movq 48(%%"REG_a"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
120 " movq 56(%%"REG_a"), %%mm4\n\t" |
30990 | 121 " movq %%mm0, %%mm3\n\t" |
122 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
123 " movq 72(%%"REG_a"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
124 " movq 64(%%"REG_a"), %%mm5\n\t" |
4148 | 125 /* n.b.: pswapd*/ |
30990 | 126 " movq %%mm1, %%mm2\n\t" |
127 " movq %%mm5, %%mm6\n\t" | |
128 " psrlq $32, %%mm1\n\t" | |
129 " psrlq $32, %%mm5\n\t" | |
130 " punpckldq %%mm2, %%mm1\n\t" | |
131 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 132 /**/ |
30990 | 133 " pfadd %%mm1, %%mm0\n\t" |
134 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
135 " movq %%mm0, 48(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
136 " movq %%mm4, 56(%%"REG_d")\n\t" |
30990 | 137 " pfsub %%mm1, %%mm3\n\t" |
138 " pfsub %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
139 " pfmul 48(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
140 " pfmul 56(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
141 " movd %%mm3, 76(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
142 " movd %%mm7, 68(%%"REG_d")\n\t" |
30990 | 143 " psrlq $32, %%mm3\n\t" |
144 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
145 " movd %%mm3, 72(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
146 " movd %%mm7, 64(%%"REG_d")\n\t" |
4148 | 147 |
148 /* Phase 2*/ | |
149 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
150 " movq (%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
151 " movq 8(%%"REG_d"), %%mm4\n\t" |
30990 | 152 " movq %%mm0, %%mm3\n\t" |
153 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
154 " movq 56(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
155 " movq 48(%%"REG_d"), %%mm5\n\t" |
4148 | 156 /* n.b.: pswapd*/ |
30990 | 157 " movq %%mm1, %%mm2\n\t" |
158 " movq %%mm5, %%mm6\n\t" | |
159 " psrlq $32, %%mm1\n\t" | |
160 " psrlq $32, %%mm5\n\t" | |
161 " punpckldq %%mm2, %%mm1\n\t" | |
162 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 163 /**/ |
30990 | 164 " pfadd %%mm1, %%mm0\n\t" |
165 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
166 " movq %%mm0, (%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
167 " movq %%mm4, 8(%%"REG_c")\n\t" |
30990 | 168 " pfsub %%mm1, %%mm3\n\t" |
169 " pfsub %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
170 " pfmul 64(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
171 " pfmul 72(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
172 " movd %%mm3, 60(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
173 " movd %%mm7, 52(%%"REG_c")\n\t" |
30990 | 174 " psrlq $32, %%mm3\n\t" |
175 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
176 " movd %%mm3, 56(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
177 " movd %%mm7, 48(%%"REG_c")\n\t" |
4148 | 178 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
179 " movq 16(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
180 " movq 24(%%"REG_d"), %%mm4\n\t" |
30990 | 181 " movq %%mm0, %%mm3\n\t" |
182 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
183 " movq 40(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
184 " movq 32(%%"REG_d"), %%mm5\n\t" |
4148 | 185 /* n.b.: pswapd*/ |
30990 | 186 " movq %%mm1, %%mm2\n\t" |
187 " movq %%mm5, %%mm6\n\t" | |
188 " psrlq $32, %%mm1\n\t" | |
189 " psrlq $32, %%mm5\n\t" | |
190 " punpckldq %%mm2, %%mm1\n\t" | |
191 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 192 /**/ |
30990 | 193 " pfadd %%mm1, %%mm0\n\t" |
194 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
195 " movq %%mm0, 16(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
196 " movq %%mm4, 24(%%"REG_c")\n\t" |
30990 | 197 " pfsub %%mm1, %%mm3\n\t" |
198 " pfsub %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
199 " pfmul 80(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
200 " pfmul 88(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
201 " movd %%mm3, 44(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
202 " movd %%mm7, 36(%%"REG_c")\n\t" |
30990 | 203 " psrlq $32, %%mm3\n\t" |
204 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
205 " movd %%mm3, 40(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
206 " movd %%mm7, 32(%%"REG_c")\n\t" |
4148 | 207 |
208 /* Phase 3*/ | |
209 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
210 " movq 64(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
211 " movq 72(%%"REG_d"), %%mm4\n\t" |
30990 | 212 " movq %%mm0, %%mm3\n\t" |
213 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
214 " movq 120(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
215 " movq 112(%%"REG_d"), %%mm5\n\t" |
4148 | 216 /* n.b.: pswapd*/ |
30990 | 217 " movq %%mm1, %%mm2\n\t" |
218 " movq %%mm5, %%mm6\n\t" | |
219 " psrlq $32, %%mm1\n\t" | |
220 " psrlq $32, %%mm5\n\t" | |
221 " punpckldq %%mm2, %%mm1\n\t" | |
222 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 223 /**/ |
30990 | 224 " pfadd %%mm1, %%mm0\n\t" |
225 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
226 " movq %%mm0, 64(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
227 " movq %%mm4, 72(%%"REG_c")\n\t" |
30990 | 228 " pfsubr %%mm1, %%mm3\n\t" |
229 " pfsubr %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
230 " pfmul 64(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
231 " pfmul 72(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
232 " movd %%mm3, 124(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
233 " movd %%mm7, 116(%%"REG_c")\n\t" |
30990 | 234 " psrlq $32, %%mm3\n\t" |
235 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
236 " movd %%mm3, 120(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
237 " movd %%mm7, 112(%%"REG_c")\n\t" |
4148 | 238 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
239 " movq 80(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
240 " movq 88(%%"REG_d"), %%mm4\n\t" |
30990 | 241 " movq %%mm0, %%mm3\n\t" |
242 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
243 " movq 104(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
244 " movq 96(%%"REG_d"), %%mm5\n\t" |
4148 | 245 /* n.b.: pswapd*/ |
30990 | 246 " movq %%mm1, %%mm2\n\t" |
247 " movq %%mm5, %%mm6\n\t" | |
248 " psrlq $32, %%mm1\n\t" | |
249 " psrlq $32, %%mm5\n\t" | |
250 " punpckldq %%mm2, %%mm1\n\t" | |
251 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 252 /**/ |
30990 | 253 " pfadd %%mm1, %%mm0\n\t" |
254 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
255 " movq %%mm0, 80(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
256 " movq %%mm4, 88(%%"REG_c")\n\t" |
30990 | 257 " pfsubr %%mm1, %%mm3\n\t" |
258 " pfsubr %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
259 " pfmul 80(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
260 " pfmul 88(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
261 " movd %%mm3, 108(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
262 " movd %%mm7, 100(%%"REG_c")\n\t" |
30990 | 263 " psrlq $32, %%mm3\n\t" |
264 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
265 " movd %%mm3, 104(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
266 " movd %%mm7, 96(%%"REG_c")\n\t" |
4148 | 267 |
268 /* Phase 4*/ | |
269 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
270 " movq (%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
271 " movq 8(%%"REG_c"), %%mm4\n\t" |
30990 | 272 " movq %%mm0, %%mm3\n\t" |
273 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
274 " movq 24(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
275 " movq 16(%%"REG_c"), %%mm5\n\t" |
4148 | 276 /* n.b.: pswapd*/ |
30990 | 277 " movq %%mm1, %%mm2\n\t" |
278 " movq %%mm5, %%mm6\n\t" | |
279 " psrlq $32, %%mm1\n\t" | |
280 " psrlq $32, %%mm5\n\t" | |
281 " punpckldq %%mm2, %%mm1\n\t" | |
282 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 283 /**/ |
30990 | 284 " pfadd %%mm1, %%mm0\n\t" |
285 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
286 " movq %%mm0, (%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
287 " movq %%mm4, 8(%%"REG_d")\n\t" |
30990 | 288 " pfsub %%mm1, %%mm3\n\t" |
289 " pfsub %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
290 " pfmul 96(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
291 " pfmul 104(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
292 " movd %%mm3, 28(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
293 " movd %%mm7, 20(%%"REG_d")\n\t" |
30990 | 294 " psrlq $32, %%mm3\n\t" |
295 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
296 " movd %%mm3, 24(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
297 " movd %%mm7, 16(%%"REG_d")\n\t" |
4148 | 298 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
299 " movq 32(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
300 " movq 40(%%"REG_c"), %%mm4\n\t" |
30990 | 301 " movq %%mm0, %%mm3\n\t" |
302 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
303 " movq 56(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
304 " movq 48(%%"REG_c"), %%mm5\n\t" |
4148 | 305 /* n.b.: pswapd*/ |
30990 | 306 " movq %%mm1, %%mm2\n\t" |
307 " movq %%mm5, %%mm6\n\t" | |
308 " psrlq $32, %%mm1\n\t" | |
309 " psrlq $32, %%mm5\n\t" | |
310 " punpckldq %%mm2, %%mm1\n\t" | |
311 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 312 /**/ |
30990 | 313 " pfadd %%mm1, %%mm0\n\t" |
314 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
315 " movq %%mm0, 32(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
316 " movq %%mm4, 40(%%"REG_d")\n\t" |
30990 | 317 " pfsubr %%mm1, %%mm3\n\t" |
318 " pfsubr %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
319 " pfmul 96(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
320 " pfmul 104(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
321 " movd %%mm3, 60(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
322 " movd %%mm7, 52(%%"REG_d")\n\t" |
30990 | 323 " psrlq $32, %%mm3\n\t" |
324 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
325 " movd %%mm3, 56(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
326 " movd %%mm7, 48(%%"REG_d")\n\t" |
4148 | 327 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
328 " movq 64(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
329 " movq 72(%%"REG_c"), %%mm4\n\t" |
30990 | 330 " movq %%mm0, %%mm3\n\t" |
331 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
332 " movq 88(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
333 " movq 80(%%"REG_c"), %%mm5\n\t" |
4148 | 334 /* n.b.: pswapd*/ |
30990 | 335 " movq %%mm1, %%mm2\n\t" |
336 " movq %%mm5, %%mm6\n\t" | |
337 " psrlq $32, %%mm1\n\t" | |
338 " psrlq $32, %%mm5\n\t" | |
339 " punpckldq %%mm2, %%mm1\n\t" | |
340 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 341 /**/ |
30990 | 342 " pfadd %%mm1, %%mm0\n\t" |
343 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
344 " movq %%mm0, 64(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
345 " movq %%mm4, 72(%%"REG_d")\n\t" |
30990 | 346 " pfsub %%mm1, %%mm3\n\t" |
347 " pfsub %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
348 " pfmul 96(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
349 " pfmul 104(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
350 " movd %%mm3, 92(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
351 " movd %%mm7, 84(%%"REG_d")\n\t" |
30990 | 352 " psrlq $32, %%mm3\n\t" |
353 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
354 " movd %%mm3, 88(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
355 " movd %%mm7, 80(%%"REG_d")\n\t" |
4148 | 356 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
357 " movq 96(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
358 " movq 104(%%"REG_c"), %%mm4\n\t" |
30990 | 359 " movq %%mm0, %%mm3\n\t" |
360 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
361 " movq 120(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
362 " movq 112(%%"REG_c"), %%mm5\n\t" |
4148 | 363 /* n.b.: pswapd*/ |
30990 | 364 " movq %%mm1, %%mm2\n\t" |
365 " movq %%mm5, %%mm6\n\t" | |
366 " psrlq $32, %%mm1\n\t" | |
367 " psrlq $32, %%mm5\n\t" | |
368 " punpckldq %%mm2, %%mm1\n\t" | |
369 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 370 /**/ |
30990 | 371 " pfadd %%mm1, %%mm0\n\t" |
372 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
373 " movq %%mm0, 96(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
374 " movq %%mm4, 104(%%"REG_d")\n\t" |
30990 | 375 " pfsubr %%mm1, %%mm3\n\t" |
376 " pfsubr %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
377 " pfmul 96(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
378 " pfmul 104(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
379 " movd %%mm3, 124(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
380 " movd %%mm7, 116(%%"REG_d")\n\t" |
30990 | 381 " psrlq $32, %%mm3\n\t" |
382 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
383 " movd %%mm3, 120(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
384 " movd %%mm7, 112(%%"REG_d")\n\t" |
4148 | 385 |
386 /* Phase 5 */ | |
387 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
388 " movq (%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
389 " movq 16(%%"REG_d"), %%mm4\n\t" |
30990 | 390 " movq %%mm0, %%mm3\n\t" |
391 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
392 " movq 8(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
393 " movq 24(%%"REG_d"), %%mm5\n\t" |
4148 | 394 /* n.b.: pswapd*/ |
30990 | 395 " movq %%mm1, %%mm2\n\t" |
396 " movq %%mm5, %%mm6\n\t" | |
397 " psrlq $32, %%mm1\n\t" | |
398 " psrlq $32, %%mm5\n\t" | |
399 " punpckldq %%mm2, %%mm1\n\t" | |
400 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 401 /**/ |
30990 | 402 " pfadd %%mm1, %%mm0\n\t" |
403 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
404 " movq %%mm0, (%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
405 " movq %%mm4, 16(%%"REG_c")\n\t" |
30990 | 406 " pfsub %%mm1, %%mm3\n\t" |
407 " pfsubr %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
408 " pfmul 112(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
409 " pfmul 112(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
410 " movd %%mm3, 12(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
411 " movd %%mm7, 28(%%"REG_c")\n\t" |
30990 | 412 " psrlq $32, %%mm3\n\t" |
413 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
414 " movd %%mm3, 8(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
415 " movd %%mm7, 24(%%"REG_c")\n\t" |
4148 | 416 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
417 " movq 32(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
418 " movq 48(%%"REG_d"), %%mm4\n\t" |
30990 | 419 " movq %%mm0, %%mm3\n\t" |
420 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
421 " movq 40(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
422 " movq 56(%%"REG_d"), %%mm5\n\t" |
4148 | 423 /* n.b.: pswapd*/ |
30990 | 424 " movq %%mm1, %%mm2\n\t" |
425 " movq %%mm5, %%mm6\n\t" | |
426 " psrlq $32, %%mm1\n\t" | |
427 " psrlq $32, %%mm5\n\t" | |
428 " punpckldq %%mm2, %%mm1\n\t" | |
429 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 430 /**/ |
30990 | 431 " pfadd %%mm1, %%mm0\n\t" |
432 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
433 " movq %%mm0, 32(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
434 " movq %%mm4, 48(%%"REG_c")\n\t" |
30990 | 435 " pfsub %%mm1, %%mm3\n\t" |
436 " pfsubr %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
437 " pfmul 112(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
438 " pfmul 112(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
439 " movd %%mm3, 44(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
440 " movd %%mm7, 60(%%"REG_c")\n\t" |
30990 | 441 " psrlq $32, %%mm3\n\t" |
442 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
443 " movd %%mm3, 40(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
444 " movd %%mm7, 56(%%"REG_c")\n\t" |
4148 | 445 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
446 " movq 64(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
447 " movq 80(%%"REG_d"), %%mm4\n\t" |
30990 | 448 " movq %%mm0, %%mm3\n\t" |
449 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
450 " movq 72(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
451 " movq 88(%%"REG_d"), %%mm5\n\t" |
4148 | 452 /* n.b.: pswapd*/ |
30990 | 453 " movq %%mm1, %%mm2\n\t" |
454 " movq %%mm5, %%mm6\n\t" | |
455 " psrlq $32, %%mm1\n\t" | |
456 " psrlq $32, %%mm5\n\t" | |
457 " punpckldq %%mm2, %%mm1\n\t" | |
458 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 459 /**/ |
30990 | 460 " pfadd %%mm1, %%mm0\n\t" |
461 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
462 " movq %%mm0, 64(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
463 " movq %%mm4, 80(%%"REG_c")\n\t" |
30990 | 464 " pfsub %%mm1, %%mm3\n\t" |
465 " pfsubr %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
466 " pfmul 112(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
467 " pfmul 112(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
468 " movd %%mm3, 76(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
469 " movd %%mm7, 92(%%"REG_c")\n\t" |
30990 | 470 " psrlq $32, %%mm3\n\t" |
471 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
472 " movd %%mm3, 72(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
473 " movd %%mm7, 88(%%"REG_c")\n\t" |
4148 | 474 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
475 " movq 96(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
476 " movq 112(%%"REG_d"), %%mm4\n\t" |
30990 | 477 " movq %%mm0, %%mm3\n\t" |
478 " movq %%mm4, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
479 " movq 104(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
480 " movq 120(%%"REG_d"), %%mm5\n\t" |
4148 | 481 /* n.b.: pswapd*/ |
30990 | 482 " movq %%mm1, %%mm2\n\t" |
483 " movq %%mm5, %%mm6\n\t" | |
484 " psrlq $32, %%mm1\n\t" | |
485 " psrlq $32, %%mm5\n\t" | |
486 " punpckldq %%mm2, %%mm1\n\t" | |
487 " punpckldq %%mm6, %%mm5\n\t" | |
4148 | 488 /**/ |
30990 | 489 " pfadd %%mm1, %%mm0\n\t" |
490 " pfadd %%mm5, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
491 " movq %%mm0, 96(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
492 " movq %%mm4, 112(%%"REG_c")\n\t" |
30990 | 493 " pfsub %%mm1, %%mm3\n\t" |
494 " pfsubr %%mm5, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
495 " pfmul 112(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
496 " pfmul 112(%%"REG_b"), %%mm7\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
497 " movd %%mm3, 108(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
498 " movd %%mm7, 124(%%"REG_c")\n\t" |
30990 | 499 " psrlq $32, %%mm3\n\t" |
500 " psrlq $32, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
501 " movd %%mm3, 104(%%"REG_c")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
502 " movd %%mm7, 120(%%"REG_c")\n\t" |
4148 | 503 |
504 /* Phase 6. This is the end of easy road. */ | |
505 /* Code below is coded in scalar mode. Should be optimized */ | |
506 | |
30990 | 507 " movd "MANGLE(plus_1f)", %%mm6\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
508 " punpckldq 120(%%"REG_b"), %%mm6\n\t" /* mm6 = 1.0 | 120(%%"REG_b")*/ |
30990 | 509 " movq "MANGLE(x_plus_minus_3dnow)", %%mm7\n\t" /* mm7 = +1 | -1 */ |
4148 | 510 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
511 " movq 32(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
512 " movq 64(%%"REG_c"), %%mm2\n\t" |
30990 | 513 " movq %%mm0, %%mm1\n\t" |
514 " movq %%mm2, %%mm3\n\t" | |
515 " pxor %%mm7, %%mm1\n\t" | |
516 " pxor %%mm7, %%mm3\n\t" | |
517 " pfacc %%mm1, %%mm0\n\t" | |
518 " pfacc %%mm3, %%mm2\n\t" | |
519 " pfmul %%mm6, %%mm0\n\t" | |
520 " pfmul %%mm6, %%mm2\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
521 " movq %%mm0, 32(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
522 " movq %%mm2, 64(%%"REG_d")\n\t" |
4148 | 523 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
524 " movd 44(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
525 " movd 40(%%"REG_c"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
526 " movd 120(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
527 " punpckldq 76(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
528 " punpckldq 72(%%"REG_c"), %%mm2\n\t" |
30990 | 529 " punpckldq %%mm3, %%mm3\n\t" |
530 " movq %%mm0, %%mm4\n\t" | |
531 " movq %%mm2, %%mm5\n\t" | |
532 " pfsub %%mm2, %%mm0\n\t" | |
533 " pfmul %%mm3, %%mm0\n\t" | |
534 " movq %%mm0, %%mm1\n\t" | |
535 " pfadd %%mm5, %%mm0\n\t" | |
536 " pfadd %%mm4, %%mm0\n\t" | |
537 " movq %%mm0, %%mm2\n\t" | |
538 " punpckldq %%mm1, %%mm0\n\t" | |
539 " punpckhdq %%mm1, %%mm2\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
540 " movq %%mm0, 40(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
541 " movq %%mm2, 72(%%"REG_d")\n\t" |
4148 | 542 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
543 " movd 48(%%"REG_c"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
544 " movd 60(%%"REG_c"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
545 " pfsub 52(%%"REG_c"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
546 " pfsub 56(%%"REG_c"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
547 " pfmul 120(%%"REG_b"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
548 " pfmul 120(%%"REG_b"), %%mm2\n\t" |
30990 | 549 " movq %%mm2, %%mm1\n\t" |
4148 | 550 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
551 " pfadd 56(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
552 " pfadd 60(%%"REG_c"), %%mm1\n\t" |
30990 | 553 " movq %%mm1, %%mm0\n\t" |
4148 | 554 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
555 " pfadd 48(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
556 " pfadd 52(%%"REG_c"), %%mm0\n\t" |
30990 | 557 " pfadd %%mm3, %%mm1\n\t" |
558 " punpckldq %%mm2, %%mm1\n\t" | |
559 " pfadd %%mm3, %%mm2\n\t" | |
560 " punpckldq %%mm2, %%mm0\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
561 " movq %%mm1, 56(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
562 " movq %%mm0, 48(%%"REG_d")\n\t" |
4148 | 563 |
564 /*---*/ | |
565 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
566 " movd 92(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
567 " pfsub 88(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
568 " pfmul 120(%%"REG_b"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
569 " movd %%mm1, 92(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
570 " pfadd 92(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
571 " pfadd 88(%%"REG_c"), %%mm1\n\t" |
30990 | 572 " movq %%mm1, %%mm0\n\t" |
4148 | 573 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
574 " pfadd 80(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
575 " pfadd 84(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
576 " movd %%mm0, 80(%%"REG_d")\n\t" |
4148 | 577 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
578 " movd 80(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
579 " pfsub 84(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
580 " pfmul 120(%%"REG_b"), %%mm0\n\t" |
30990 | 581 " pfadd %%mm0, %%mm1\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
582 " pfadd 92(%%"REG_d"), %%mm0\n\t" |
30990 | 583 " punpckldq %%mm1, %%mm0\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
584 " movq %%mm0, 84(%%"REG_d")\n\t" |
4148 | 585 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
586 " movq 96(%%"REG_c"), %%mm0\n\t" |
30990 | 587 " movq %%mm0, %%mm1\n\t" |
588 " pxor %%mm7, %%mm1\n\t" | |
589 " pfacc %%mm1, %%mm0\n\t" | |
590 " pfmul %%mm6, %%mm0\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
591 " movq %%mm0, 96(%%"REG_d")\n\t" |
4148 | 592 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
593 " movd 108(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
594 " pfsub 104(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
595 " pfmul 120(%%"REG_b"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
596 " movd %%mm0, 108(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
597 " pfadd 104(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
598 " pfadd 108(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
599 " movd %%mm0, 104(%%"REG_d")\n\t" |
4148 | 600 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
601 " movd 124(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
602 " pfsub 120(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
603 " pfmul 120(%%"REG_b"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
604 " movd %%mm1, 124(%%"REG_d")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
605 " pfadd 120(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
606 " pfadd 124(%%"REG_c"), %%mm1\n\t" |
30990 | 607 " movq %%mm1, %%mm0\n\t" |
4148 | 608 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
609 " pfadd 112(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
610 " pfadd 116(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
611 " movd %%mm0, 112(%%"REG_d")\n\t" |
4148 | 612 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
613 " movd 112(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
614 " pfsub 116(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
615 " pfmul 120(%%"REG_b"), %%mm0\n\t" |
30990 | 616 " pfadd %%mm0,%%mm1\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
617 " pfadd 124(%%"REG_d"), %%mm0\n\t" |
30990 | 618 " punpckldq %%mm1, %%mm0\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
619 " movq %%mm0, 116(%%"REG_d")\n\t" |
4148 | 620 |
20504
27fb949fffa9
disable nonworking/broken code for now till I find out what it is supposed to do.
reimar
parents:
18941
diff
changeset
|
621 // this code is broken, there is nothing modifying the z flag above. |
27fb949fffa9
disable nonworking/broken code for now till I find out what it is supposed to do.
reimar
parents:
18941
diff
changeset
|
622 #if 0 |
30990 | 623 " jnz .L01\n\t" |
4148 | 624 |
625 /* Phase 7*/ | |
626 /* Code below is coded in scalar mode. Should be optimized */ | |
627 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
628 " movd (%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
629 " pfadd 4(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
630 " movd %%mm0, 1024(%%"REG_S")\n\t" |
4148 | 631 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
632 " movd (%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
633 " pfsub 4(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
634 " pfmul 120(%%"REG_b"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
635 " movd %%mm0, (%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
636 " movd %%mm0, (%%"REG_D")\n\t" |
4148 | 637 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
638 " movd 12(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
639 " pfsub 8(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
640 " pfmul 120(%%"REG_b"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
641 " movd %%mm0, 512(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
642 " pfadd 12(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
643 " pfadd 8(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
644 " movd %%mm0, 512(%%"REG_S")\n\t" |
4148 | 645 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
646 " movd 16(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
647 " pfsub 20(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
648 " pfmul 120(%%"REG_b"), %%mm0\n\t" |
30990 | 649 " movq %%mm0, %%mm3\n\t" |
4148 | 650 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
651 " movd 28(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
652 " pfsub 24(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
653 " pfmul 120(%%"REG_b"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
654 " movd %%mm0, 768(%%"REG_D")\n\t" |
30990 | 655 " movq %%mm0, %%mm2\n\t" |
4148 | 656 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
657 " pfadd 24(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
658 " pfadd 28(%%"REG_c"), %%mm0\n\t" |
30990 | 659 " movq %%mm0, %%mm1\n\t" |
4148 | 660 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
661 " pfadd 16(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
662 " pfadd 20(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
663 " movd %%mm0, 768(%%"REG_S")\n\t" |
30990 | 664 " pfadd %%mm3, %%mm1\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
665 " movd %%mm1, 256(%%"REG_S")\n\t" |
30990 | 666 " pfadd %%mm3, %%mm2\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
667 " movd %%mm2, 256(%%"REG_D")\n\t" |
4148 | 668 |
669 /* Phase 8*/ | |
670 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
671 " movq 32(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
672 " movq 48(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
673 " pfadd 48(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
674 " pfadd 40(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
675 " movd %%mm0, 896(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
676 " movd %%mm1, 640(%%"REG_S")\n\t" |
30990 | 677 " psrlq $32, %%mm0\n\t" |
678 " psrlq $32, %%mm1\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
679 " movd %%mm0, 128(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
680 " movd %%mm1, 384(%%"REG_D")\n\t" |
4148 | 681 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
682 " movd 40(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
683 " pfadd 56(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
684 " movd %%mm0, 384(%%"REG_S")\n\t" |
4148 | 685 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
686 " movd 56(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
687 " pfadd 36(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
688 " movd %%mm0, 128(%%"REG_S")\n\t" |
4148 | 689 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
690 " movd 60(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
691 " movd %%mm0, 896(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
692 " pfadd 44(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
693 " movd %%mm0, 640(%%"REG_D")\n\t" |
4148 | 694 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
695 " movq 96(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
696 " movq 112(%%"REG_d"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
697 " movq 104(%%"REG_d"), %%mm4\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
698 " pfadd 112(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
699 " pfadd 104(%%"REG_d"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
700 " pfadd 120(%%"REG_d"), %%mm4\n\t" |
30990 | 701 " movq %%mm0, %%mm1\n\t" |
702 " movq %%mm2, %%mm3\n\t" | |
703 " movq %%mm4, %%mm5\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
704 " pfadd 64(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
705 " pfadd 80(%%"REG_d"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
706 " pfadd 72(%%"REG_d"), %%mm4\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
707 " movd %%mm0, 960(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
708 " movd %%mm2, 704(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
709 " movd %%mm4, 448(%%"REG_S")\n\t" |
30990 | 710 " psrlq $32, %%mm0\n\t" |
711 " psrlq $32, %%mm2\n\t" | |
712 " psrlq $32, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
713 " movd %%mm0, 64(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
714 " movd %%mm2, 320(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
715 " movd %%mm4, 576(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
716 " pfadd 80(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
717 " pfadd 72(%%"REG_d"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
718 " pfadd 88(%%"REG_d"), %%mm5\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
719 " movd %%mm1, 832(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
720 " movd %%mm3, 576(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
721 " movd %%mm5, 320(%%"REG_S")\n\t" |
30990 | 722 " psrlq $32, %%mm1\n\t" |
723 " psrlq $32, %%mm3\n\t" | |
724 " psrlq $32, %%mm5\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
725 " movd %%mm1, 192(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
726 " movd %%mm3, 448(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
727 " movd %%mm5, 704(%%"REG_D")\n\t" |
4148 | 728 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
729 " movd 120(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
730 " pfadd 100(%%"REG_d"), %%mm0\n\t" |
30990 | 731 " movq %%mm0, %%mm1\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
732 " pfadd 88(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
733 " movd %%mm0, 192(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
734 " pfadd 68(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
735 " movd %%mm1, 64(%%"REG_S")\n\t" |
4148 | 736 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
737 " movd 124(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
738 " movd %%mm0, 960(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
739 " pfadd 92(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
740 " movd %%mm0, 832(%%"REG_D")\n\t" |
4148 | 741 |
30990 | 742 " jmp .L_bye\n\t" |
4148 | 743 ".L01:\n\t" |
20504
27fb949fffa9
disable nonworking/broken code for now till I find out what it is supposed to do.
reimar
parents:
18941
diff
changeset
|
744 #endif |
4148 | 745 /* Phase 9*/ |
746 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
747 " movq (%%"REG_c"), %%mm0\n\t" |
30990 | 748 " movq %%mm0, %%mm1\n\t" |
749 " pxor %%mm7, %%mm1\n\t" | |
750 " pfacc %%mm1, %%mm0\n\t" | |
751 " pfmul %%mm6, %%mm0\n\t" | |
752 " pf2id %%mm0, %%mm0\n\t" | |
753 " packssdw %%mm0, %%mm0\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
754 " movd %%mm0, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
755 " movw %%ax, 512(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
756 " shr $16, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
757 " movw %%ax, (%%"REG_S")\n\t" |
4148 | 758 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
759 " movd 12(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
760 " pfsub 8(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
761 " pfmul 120(%%"REG_b"), %%mm0\n\t" |
30990 | 762 " pf2id %%mm0, %%mm7\n\t" |
763 " packssdw %%mm7, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
764 " movd %%mm7, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
765 " movw %%ax, 256(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
766 " pfadd 12(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
767 " pfadd 8(%%"REG_c"), %%mm0\n\t" |
30990 | 768 " pf2id %%mm0, %%mm0\n\t" |
769 " packssdw %%mm0, %%mm0\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
770 " movd %%mm0, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
771 " movw %%ax, 256(%%"REG_S")\n\t" |
4148 | 772 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
773 " movd 16(%%"REG_c"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
774 " pfsub 20(%%"REG_c"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
775 " pfmul 120(%%"REG_b"), %%mm3\n\t" |
30990 | 776 " movq %%mm3, %%mm2\n\t" |
4148 | 777 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
778 " movd 28(%%"REG_c"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
779 " pfsub 24(%%"REG_c"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
780 " pfmul 120(%%"REG_b"), %%mm2\n\t" |
30990 | 781 " movq %%mm2, %%mm1\n\t" |
4148 | 782 |
30990 | 783 " pf2id %%mm2, %%mm7\n\t" |
784 " packssdw %%mm7, %%mm7\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
785 " movd %%mm7, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
786 " movw %%ax, 384(%%"REG_D")\n\t" |
4148 | 787 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
788 " pfadd 24(%%"REG_c"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
789 " pfadd 28(%%"REG_c"), %%mm1\n\t" |
30990 | 790 " movq %%mm1, %%mm0\n\t" |
4148 | 791 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
792 " pfadd 16(%%"REG_c"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
793 " pfadd 20(%%"REG_c"), %%mm0\n\t" |
30990 | 794 " pf2id %%mm0, %%mm0\n\t" |
795 " packssdw %%mm0, %%mm0\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
796 " movd %%mm0, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
797 " movw %%ax, 384(%%"REG_S")\n\t" |
30990 | 798 " pfadd %%mm3, %%mm1\n\t" |
799 " pf2id %%mm1, %%mm1\n\t" | |
800 " packssdw %%mm1, %%mm1\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
801 " movd %%mm1, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
802 " movw %%ax, 128(%%"REG_S")\n\t" |
30990 | 803 " pfadd %%mm3, %%mm2\n\t" |
804 " pf2id %%mm2, %%mm2\n\t" | |
805 " packssdw %%mm2, %%mm2\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
806 " movd %%mm2, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
807 " movw %%ax, 128(%%"REG_D")\n\t" |
4148 | 808 |
809 /* Phase 10*/ | |
810 | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
811 " movq 32(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
812 " movq 48(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
813 " pfadd 48(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
814 " pfadd 40(%%"REG_d"), %%mm1\n\t" |
30990 | 815 " pf2id %%mm0, %%mm0\n\t" |
816 " pf2id %%mm1, %%mm1\n\t" | |
817 " packssdw %%mm0, %%mm0\n\t" | |
818 " packssdw %%mm1, %%mm1\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
819 " movd %%mm0, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
820 " movd %%mm1, %%"REG_c"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
821 " movw %%ax, 448(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
822 " movw %%cx, 320(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
823 " shr $16, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
824 " shr $16, %%"REG_c"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
825 " movw %%ax, 64(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
826 " movw %%cx, 192(%%"REG_D")\n\t" |
4148 | 827 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
828 " movd 40(%%"REG_d"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
829 " movd 56(%%"REG_d"), %%mm4\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
830 " movd 60(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
831 " movd 44(%%"REG_d"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
832 " movd 120(%%"REG_d"), %%mm5\n\t" |
30990 | 833 " punpckldq %%mm4, %%mm3\n\t" |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
834 " punpckldq 124(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
835 " pfadd 100(%%"REG_d"), %%mm5\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
836 " punpckldq 36(%%"REG_d"), %%mm4\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
837 " punpckldq 92(%%"REG_d"), %%mm2\n\t" |
30990 | 838 " movq %%mm5, %%mm6\n\t" |
839 " pfadd %%mm4, %%mm3\n\t" | |
840 " pf2id %%mm0, %%mm1\n\t" | |
841 " pf2id %%mm3, %%mm3\n\t" | |
842 " packssdw %%mm1, %%mm1\n\t" | |
843 " packssdw %%mm3, %%mm3\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
844 " pfadd 88(%%"REG_d"), %%mm5\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
845 " movd %%mm1, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
846 " movd %%mm3, %%"REG_c"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
847 " movw %%ax, 448(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
848 " movw %%cx, 192(%%"REG_S")\n\t" |
30990 | 849 " pf2id %%mm5, %%mm5\n\t" |
850 " packssdw %%mm5, %%mm5\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
851 " shr $16, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
852 " shr $16, %%"REG_c"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
853 " movd %%mm5, %%"REG_b"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
854 " movw %%bx, 96(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
855 " movw %%ax, 480(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
856 " movw %%cx, 64(%%"REG_S")\n\t" |
30990 | 857 " pfadd %%mm2, %%mm0\n\t" |
858 " pf2id %%mm0, %%mm0\n\t" | |
859 " packssdw %%mm0, %%mm0\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
860 " movd %%mm0, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
861 " pfadd 68(%%"REG_d"), %%mm6\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
862 " movw %%ax, 320(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
863 " shr $16, %%"REG_a"\n\t" |
30990 | 864 " pf2id %%mm6, %%mm6\n\t" |
865 " packssdw %%mm6, %%mm6\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
866 " movd %%mm6, %%"REG_b"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
867 " movw %%ax, 416(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
868 " movw %%bx, 32(%%"REG_S")\n\t" |
4148 | 869 |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
870 " movq 96(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
871 " movq 112(%%"REG_d"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
872 " movq 104(%%"REG_d"), %%mm4\n\t" |
30990 | 873 " pfadd %%mm2, %%mm0\n\t" |
874 " pfadd %%mm4, %%mm2\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
875 " pfadd 120(%%"REG_d"), %%mm4\n\t" |
30990 | 876 " movq %%mm0, %%mm1\n\t" |
877 " movq %%mm2, %%mm3\n\t" | |
878 " movq %%mm4, %%mm5\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
879 " pfadd 64(%%"REG_d"), %%mm0\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
880 " pfadd 80(%%"REG_d"), %%mm2\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
881 " pfadd 72(%%"REG_d"), %%mm4\n\t" |
30990 | 882 " pf2id %%mm0, %%mm0\n\t" |
883 " pf2id %%mm2, %%mm2\n\t" | |
884 " pf2id %%mm4, %%mm4\n\t" | |
885 " packssdw %%mm0, %%mm0\n\t" | |
886 " packssdw %%mm2, %%mm2\n\t" | |
887 " packssdw %%mm4, %%mm4\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
888 " movd %%mm0, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
889 " movd %%mm2, %%"REG_c"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
890 " movd %%mm4, %%"REG_b"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
891 " movw %%ax, 480(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
892 " movw %%cx, 352(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
893 " movw %%bx, 224(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
894 " shr $16, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
895 " shr $16, %%"REG_c"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
896 " shr $16, %%"REG_b"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
897 " movw %%ax, 32(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
898 " movw %%cx, 160(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
899 " movw %%bx, 288(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
900 " pfadd 80(%%"REG_d"), %%mm1\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
901 " pfadd 72(%%"REG_d"), %%mm3\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
902 " pfadd 88(%%"REG_d"), %%mm5\n\t" |
30990 | 903 " pf2id %%mm1, %%mm1\n\t" |
904 " pf2id %%mm3, %%mm3\n\t" | |
905 " pf2id %%mm5, %%mm5\n\t" | |
906 " packssdw %%mm1, %%mm1\n\t" | |
907 " packssdw %%mm3, %%mm3\n\t" | |
908 " packssdw %%mm5, %%mm5\n\t" | |
31215
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
909 " movd %%mm1, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
910 " movd %%mm3, %%"REG_c"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
911 " movd %%mm5, %%"REG_b"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
912 " movw %%ax, 416(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
913 " movw %%cx, 288(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
914 " movw %%bx, 160(%%"REG_S")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
915 " shr $16, %%"REG_a"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
916 " shr $16, %%"REG_c"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
917 " shr $16, %%"REG_b"\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
918 " movw %%ax, 96(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
919 " movw %%cx, 224(%%"REG_D")\n\t" |
d0f70692a140
Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace).
reimar
parents:
30990
diff
changeset
|
920 " movw %%bx, 352(%%"REG_D")\n\t" |
4148 | 921 |
30990 | 922 " movsw\n\t" |
4148 | 923 |
924 ".L_bye:\n\t" | |
30990 | 925 " femms\n\t" |
926 : | |
927 :"m"(a),"m"(b),"m"(c),"m"(tmp[0]) | |
928 :"memory","%eax","%ebx","%ecx","%edx","%esi","%edi"); | |
5842
d6eab895c742
Avoid stdcall on cygwin, it causes undefined ref, code needs testing as I have no athlon or k6-2.
atmos4
parents:
5291
diff
changeset
|
929 } |