Mercurial > mplayer.hg
comparison mmx_defs.h @ 2516:9ef4fa15b780
More elegant solution
author | nick |
---|---|
date | Sun, 28 Oct 2001 17:15:54 +0000 |
parents | |
children | 4c074b58b4b6 |
comparison
equal
deleted
inserted
replaced
2515:622cd80caaba | 2516:9ef4fa15b780 |
---|---|
1 /* | |
2 This file contains most common definitions to make MMX stuff | |
3 easy portable between different kinds of mmx clones | |
4 Written By Nick Kurshev <nickols_k@mail.ru> | |
5 */ | |
6 | |
7 #ifndef MMXDEFS_INCLUDED | |
8 #define MMXDEFS_INCLUDED | |
9 | |
10 #include "config.h" | |
11 | |
12 #undef HAVE_MMX1 | |
13 #if defined(HAVE_MMX) && !defined(HAVE_MMX2) && !defined(HAVE_3DNOW) && !defined(HAVE_SSE) | |
14 #define HAVE_MMX1 | |
15 #endif | |
16 | |
17 #undef HAVE_K6_2PLUS | |
18 #if !defined( HAVE_MMX2 ) && defined( HAVE_3DNOW ) | |
19 #define HAVE_K6_2PLUS | |
20 #endif | |
21 | |
22 #ifdef HAVE_SSE2 | |
23 #define MMREG_SIZE 16 | |
24 #else | |
25 #define MMREG_SIZE 8 | |
26 #endif | |
27 | |
28 #ifdef HAVE_3DNOW | |
29 #define PREFETCH "prefetch" | |
30 #define PREFETCHW "prefetchw" | |
31 #elif defined ( HAVE_MMX2 ) | |
32 #define PREFETCH "prefetchnta" | |
33 #define PREFETCHW "prefetcht0" | |
34 #else | |
35 #define PREFETCH "/nop" | |
36 #define PREFETCHW "/nop" | |
37 #endif | |
38 | |
39 #ifdef HAVE_K6_2PLUS | |
40 /* On K6 femms is faster of emms. On K7 femms is directly mapped on emms. */ | |
41 #define EMMS "femms" | |
42 #else | |
43 #define EMMS "emms" | |
44 #endif | |
45 | |
46 #ifdef HAVE_MMX2 | |
47 #define MOVNTQ "movntq" | |
48 #define SFENCE "sfence" | |
49 #else | |
50 #define MOVNTQ "movq" | |
51 #define SFENCE "/nop" | |
52 #endif | |
53 | |
54 | |
55 #endif |