comparison libvo/osd_template.c @ 2843:5be2017077fb

Use new logic suggested by Michael Niedermayer K7: Non-MMX stuff total=299997790 Old-MMX stuff: total=159120928 New-MMX stuff: total=80925337
author nick
date Sun, 11 Nov 2001 17:14:57 +0000
parents 03ccbb72e2e9
children ab51228bf3cf
comparison
equal deleted inserted replaced
2842:aebdcb39cadb 2843:5be2017077fb
71 PREFETCH" %2\n\t" 71 PREFETCH" %2\n\t"
72 "pxor %%mm7, %%mm7\n\t" 72 "pxor %%mm7, %%mm7\n\t"
73 "pcmpeqb %%mm6, %%mm6\n\t" // F..F 73 "pcmpeqb %%mm6, %%mm6\n\t" // F..F
74 ::"m"(*dst),"m"(*srca),"m"(*src):"memory"); 74 ::"m"(*dst),"m"(*srca),"m"(*src):"memory");
75 for(x=0;x<w;x+=2){ 75 for(x=0;x<w;x+=2){
76 if(srca[x] || srca[x+1])
76 asm volatile( 77 asm volatile(
77 PREFETCHW" 32%0\n\t" 78 PREFETCHW" 32%0\n\t"
78 PREFETCH" 32%1\n\t" 79 PREFETCH" 32%1\n\t"
79 PREFETCH" 32%2\n\t" 80 PREFETCH" 32%2\n\t"
80 "movq %0, %%mm0\n\t" // dstbase 81 "movq %0, %%mm0\n\t" // dstbase
172 PREFETCH" %2\n\t" 173 PREFETCH" %2\n\t"
173 "pxor %%mm7, %%mm7\n\t" 174 "pxor %%mm7, %%mm7\n\t"
174 "pcmpeqb %%mm6, %%mm6\n\t" // F..F 175 "pcmpeqb %%mm6, %%mm6\n\t" // F..F
175 ::"m"(*dstbase),"m"(*srca),"m"(*src):"memory"); 176 ::"m"(*dstbase),"m"(*srca),"m"(*src):"memory");
176 for(x=0;x<w;x+=2){ 177 for(x=0;x<w;x+=2){
178 if(srca[x] || srca[x+1])
177 asm volatile( 179 asm volatile(
178 PREFETCHW" 32%0\n\t" 180 PREFETCHW" 32%0\n\t"
179 PREFETCH" 32%1\n\t" 181 PREFETCH" 32%1\n\t"
180 PREFETCH" 32%2\n\t" 182 PREFETCH" 32%2\n\t"
181 "movq %0, %%mm0\n\t" // dstbase 183 "movq %0, %%mm0\n\t" // dstbase