comparison libvo/osd_template.c @ 28335:31287e75b5d8

HAVE_3DNOW --> HAVE_AMD3DNOW
author diego
date Mon, 26 Jan 2009 09:29:53 +0000
parents 25337a2147e7
children 7681eab10aea
comparison
equal deleted inserted replaced
28334:9e4c389f670f 28335:31287e75b5d8
5 #undef PREFETCH 5 #undef PREFETCH
6 #undef EMMS 6 #undef EMMS
7 #undef PREFETCHW 7 #undef PREFETCHW
8 #undef PAVGB 8 #undef PAVGB
9 9
10 #if HAVE_3DNOW 10 #if HAVE_AMD3DNOW
11 #define PREFETCH "prefetch" 11 #define PREFETCH "prefetch"
12 #define PREFETCHW "prefetchw" 12 #define PREFETCHW "prefetchw"
13 #define PAVGB "pavgusb" 13 #define PAVGB "pavgusb"
14 #elif HAVE_MMX2 14 #elif HAVE_MMX2
15 #define PREFETCH "prefetchnta" 15 #define PREFETCH "prefetchnta"
18 #else 18 #else
19 #define PREFETCH " # nop" 19 #define PREFETCH " # nop"
20 #define PREFETCHW " # nop" 20 #define PREFETCHW " # nop"
21 #endif 21 #endif
22 22
23 #if HAVE_3DNOW 23 #if HAVE_AMD3DNOW
24 /* On K6 femms is faster of emms. On K7 femms is directly mapped on emms. */ 24 /* On K6 femms is faster of emms. On K7 femms is directly mapped on emms. */
25 #define EMMS "femms" 25 #define EMMS "femms"
26 #else 26 #else
27 #define EMMS "emms" 27 #define EMMS "emms"
28 #endif 28 #endif
305 int y; 305 int y;
306 #ifdef WORDS_BIGENDIAN 306 #ifdef WORDS_BIGENDIAN
307 dstbase++; 307 dstbase++;
308 #endif 308 #endif
309 #if HAVE_MMX 309 #if HAVE_MMX
310 #if HAVE_3DNOW 310 #if HAVE_AMD3DNOW
311 __asm__ volatile( 311 __asm__ volatile(
312 "pxor %%mm7, %%mm7\n\t" 312 "pxor %%mm7, %%mm7\n\t"
313 "pcmpeqb %%mm6, %%mm6\n\t" // F..F 313 "pcmpeqb %%mm6, %%mm6\n\t" // F..F
314 ::); 314 ::);
315 #else /* HAVE_3DNOW */ 315 #else /* HAVE_AMD3DNOW */
316 __asm__ volatile( 316 __asm__ volatile(
317 "pxor %%mm7, %%mm7\n\t" 317 "pxor %%mm7, %%mm7\n\t"
318 "pcmpeqb %%mm5, %%mm5\n\t" // F..F 318 "pcmpeqb %%mm5, %%mm5\n\t" // F..F
319 "movq %%mm5, %%mm4\n\t" 319 "movq %%mm5, %%mm4\n\t"
320 "psllw $8, %%mm5\n\t" //FF00FF00FF00 320 "psllw $8, %%mm5\n\t" //FF00FF00FF00
321 "psrlw $8, %%mm4\n\t" //00FF00FF00FF 321 "psrlw $8, %%mm4\n\t" //00FF00FF00FF
322 ::); 322 ::);
323 #endif /* HAVE_3DNOW */ 323 #endif /* HAVE_AMD3DNOW */
324 #endif /* HAVE_MMX */ 324 #endif /* HAVE_MMX */
325 for(y=0;y<h;y++){ 325 for(y=0;y<h;y++){
326 register int x; 326 register int x;
327 #if ARCH_X86 && (!ARCH_X86_64 || HAVE_MMX) 327 #if ARCH_X86 && (!ARCH_X86_64 || HAVE_MMX)
328 #if HAVE_MMX 328 #if HAVE_MMX
329 #if HAVE_3DNOW 329 #if HAVE_AMD3DNOW
330 __asm__ volatile( 330 __asm__ volatile(
331 PREFETCHW" %0\n\t" 331 PREFETCHW" %0\n\t"
332 PREFETCH" %1\n\t" 332 PREFETCH" %1\n\t"
333 PREFETCH" %2\n\t" 333 PREFETCH" %2\n\t"
334 ::"m"(*dstbase),"m"(*srca),"m"(*src):"memory"); 334 ::"m"(*dstbase),"m"(*srca),"m"(*src):"memory");