Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 73120
Collapse All | Expand All

(-)mythmusic-0.15.1/work/mythmusic-0.15.1/mythmusic/goom/zoom_filter_xmmx.c (-14 / +14 lines)
Lines 101-123 Link Here
101
			 * post : mm3 & mm4 : coefs for this position
101
			 * post : mm3 & mm4 : coefs for this position
102
			 *              mm1 : X vector [0|X]
102
			 *              mm1 : X vector [0|X]
103
			 *
103
			 *
104
			 * modif : eax,ebx
104
			 * modif : eax,ecx
105
			 */
105
			 */
106
			__asm__ __volatile__ (
106
			__asm__ __volatile__ (
107
				"movd %%mm0,%%ebx\n"
107
				"movd %%mm0,%%ecx\n"
108
				"movq %%mm0,%%mm1\n"
108
				"movq %%mm0,%%mm1\n"
109
109
110
				"andl $15,%%ebx\n"
110
				"andl $15,%%ecx\n"
111
				"psrlq $32,%%mm1\n"
111
				"psrlq $32,%%mm1\n"
112
112
113
				"shll $6,%%ebx\n"
113
				"shll $6,%%ecx\n"
114
				"movd %%mm1,%%eax\n"
114
				"movd %%mm1,%%eax\n"
115
115
116
				"addl %0,%%ebx\n"
116
				"addl %0,%%ecx\n"
117
				"andl $15,%%eax\n"
117
				"andl $15,%%eax\n"
118
118
119
				"movd (%%ebx,%%eax,4),%%mm3\n"
119
				"movd (%%ecx,%%eax,4),%%mm3\n"
120
				::"m"(precalCoef):"eax","ebx");
120
				::"m"(precalCoef):"eax","ecx");
121
121
122
			/*
122
			/*
123
			 * extraction des coefficients...
123
			 * extraction des coefficients...
Lines 145-151 Link Here
145
			 * post : mm0 : expix1[position]
145
			 * post : mm0 : expix1[position]
146
			 *        mm2 : expix1[position+largeur]
146
			 *        mm2 : expix1[position+largeur]
147
			 *
147
			 *
148
			 * modif : eax,ebx
148
			 * modif : eax,ecx
149
			 */
149
			 */
150
			psrld_i2r (PERTEDEC,mm0);
150
			psrld_i2r (PERTEDEC,mm0);
151
			psrld_i2r (PERTEDEC,mm1);
151
			psrld_i2r (PERTEDEC,mm1);
Lines 154-176 Link Here
154
				/*^*/ "movq %%mm3,%%mm5\n"       /*^*/
154
				/*^*/ "movq %%mm3,%%mm5\n"       /*^*/
155
155
156
				"mull %1\n"
156
				"mull %1\n"
157
				"movd %%mm0,%%ebx\n"
157
				"movd %%mm0,%%ecx\n"
158
				/*^*/ "punpcklbw %%mm5, %%mm3\n" /*^*/
158
				/*^*/ "punpcklbw %%mm5, %%mm3\n" /*^*/
159
159
160
				"addl %%ebx,%%eax\n"
160
				"addl %%ecx,%%eax\n"
161
				/*^*/ "movq %%mm3,%%mm4\n"       /*^*/
161
				/*^*/ "movq %%mm3,%%mm4\n"       /*^*/
162
				/*^*/ "movq %%mm3,%%mm5\n"       /*^*/
162
				/*^*/ "movq %%mm3,%%mm5\n"       /*^*/
163
163
164
				"movl %0,%%ebx\n"
164
				"movl %0,%%ecx\n"
165
				/*^*/ "punpcklbw %%mm5,%%mm3\n"  /*^*/
165
				/*^*/ "punpcklbw %%mm5,%%mm3\n"  /*^*/
166
166
167
				"movq (%%ebx,%%eax,4),%%mm0\n"
167
				"movq (%%ecx,%%eax,4),%%mm0\n"
168
				/*^*/ "punpckhbw %%mm5,%%mm4\n"  /*^*/
168
				/*^*/ "punpckhbw %%mm5,%%mm4\n"  /*^*/
169
169
170
				"addl %1,%%eax\n"
170
				"addl %1,%%eax\n"
171
				"movq (%%ebx,%%eax,4),%%mm2\n"
171
				"movq (%%ecx,%%eax,4),%%mm2\n"
172
				
172
				
173
				: : "X"(expix1), "X"(prevX):"eax","ebx"
173
				: : "X"(expix1), "X"(prevX):"eax","ecx"
174
				);
174
				);
175
175
176
			/*
176
			/*

Return to bug 73120