Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 77694 | Differences between
and this patch

Collapse All | Expand All

(-)deinterlace.c.orig (+16 lines)
Lines 161-167 Link Here
161
                  " pxor        %%mm7 , %%mm7;           /* clear mm7                                          */\n"
161
                  " pxor        %%mm7 , %%mm7;           /* clear mm7                                          */\n"
162
                  "                                      /*                                                    */\n"
162
                  "                                      /*                                                    */\n"
163
                  " movl         %1    , %%eax;          /* load frameadress into eax                          */\n"
163
                  " movl         %1    , %%eax;          /* load frameadress into eax                          */\n"
164
#ifdef __PIC__
165
                  " movl         %2    , %%esi;          /* load frameadress into esi                          */\n"
166
#else
164
                  " movl         %2    , %%ebx;          /* load frameadress into ebx                          */\n"
167
                  " movl         %2    , %%ebx;          /* load frameadress into ebx                          */\n"
168
#endif
165
                  " movl         %3    , %%ecx;          /* load frameadress into ecx                          */\n"
169
                  " movl         %3    , %%ecx;          /* load frameadress into ecx                          */\n"
166
                  "                                      /*                                                    */\n"
170
                  "                                      /*                                                    */\n"
167
                  " .rept 3                              /* repeat 3 times                                     */\n"
171
                  " .rept 3                              /* repeat 3 times                                     */\n"
Lines 177-183 Link Here
177
                  " paddusw      %%mm1 , %%mm0;          /* add mm1 (stored in mm1 and mm2...)                 */\n"
181
                  " paddusw      %%mm1 , %%mm0;          /* add mm1 (stored in mm1 and mm2...)                 */\n"
178
                  " paddusw      %%mm2 , %%mm0;          /* to mm0                                             */\n"
182
                  " paddusw      %%mm2 , %%mm0;          /* to mm0                                             */\n"
179
                  "                                      /*                                                    */\n"
183
                  "                                      /*                                                    */\n"
184
#ifdef __PIC__
185
                  " movq        (%%esi), %%mm1;          /* 8 Pixels from line                                 */\n"
186
#else
180
                  " movq        (%%ebx), %%mm1;          /* 8 Pixels from line                                 */\n"
187
                  " movq        (%%ebx), %%mm1;          /* 8 Pixels from line                                 */\n"
188
#endif
181
                  " movq        (%%ecx), %%mm2;          /* 8 Pixels from displaced line                       */\n"
189
                  " movq        (%%ecx), %%mm2;          /* 8 Pixels from displaced line                       */\n"
182
                  " movq         %%mm2 , %%mm3;          /* hold a copy of mm2 in mm3                          */\n"
190
                  " movq         %%mm2 , %%mm3;          /* hold a copy of mm2 in mm3                          */\n"
183
                  " psubusb      %%mm1 , %%mm3;          /* positive differences between mm2 and mm1           */\n"
191
                  " psubusb      %%mm1 , %%mm3;          /* positive differences between mm2 and mm1           */\n"
Lines 189-202 Link Here
189
                  " paddusw      %%mm1 , %%mm0;          /* add mm1 (stored in mm1 and mm2...)                 */\n"
197
                  " paddusw      %%mm1 , %%mm0;          /* add mm1 (stored in mm1 and mm2...)                 */\n"
190
                  " paddusw      %%mm2 , %%mm0;          /* to mm0                                             */\n"
198
                  " paddusw      %%mm2 , %%mm0;          /* to mm0                                             */\n"
191
                  " addl         $8    , %%eax;          /* add 8 to frameaddress                              */\n"
199
                  " addl         $8    , %%eax;          /* add 8 to frameaddress                              */\n"
200
#ifdef __PIC__
201
                  " addl         $8    , %%esi;          /* add 8 to frameaddress                              */\n"
202
#else
192
                  " addl         $8    , %%ebx;          /* add 8 to frameaddress                              */\n"
203
                  " addl         $8    , %%ebx;          /* add 8 to frameaddress                              */\n"
204
#endif
193
                  " addl         $8    , %%ecx;          /* add 8 to frameaddress                              */\n"
205
                  " addl         $8    , %%ecx;          /* add 8 to frameaddress                              */\n"
194
                  " .endr                                /* end loop                                           */\n"
206
                  " .endr                                /* end loop                                           */\n"
195
                  "                                      /*                                                    */\n"
207
                  "                                      /*                                                    */\n"
196
                  " movq         %%mm0 , %0   ;          /* make mm0 available to gcc ...                      */\n"
208
                  " movq         %%mm0 , %0   ;          /* make mm0 available to gcc ...                      */\n"
197
                  :"=m" (a)
209
                  :"=m" (a)
198
                  :"m" (ref1), "m" (ref2), "m" (ref3)
210
                  :"m" (ref1), "m" (ref2), "m" (ref3)
211
#ifdef __PIC__
212
                  :"%eax", "%esi", "%ecx"
213
#else
199
                  :"%eax", "%ebx", "%ecx"
214
                  :"%eax", "%ebx", "%ecx"
215
#endif
200
                );
216
                );
201
              
217
              
202
              d=a[0]+a[1]+a[2]+a[3];
218
              d=a[0]+a[1]+a[2]+a[3];

Return to bug 77694