Mercurial > mplayer.hg
annotate mp3lib/dct64_3dnow.c @ 33489:fbd79ef3992b
sync with en/mplayer.1 rev. 33564
author | jrash |
---|---|
date | Fri, 10 Jun 2011 12:52:23 +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 } |