diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-28 17:15:54 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-28 17:15:54 +0000 |
commit | 578e647be3e33f9cd4b58d975aadaf2b96775c06 (patch) | |
tree | f970b787274185e9c5f69af137cda74160c802ea /mmx_defs.h | |
parent | 2b88e5ff5c622bcefd4afd828c786bbfcbded9dc (diff) | |
download | mpv-578e647be3e33f9cd4b58d975aadaf2b96775c06.tar.bz2 mpv-578e647be3e33f9cd4b58d975aadaf2b96775c06.tar.xz |
More elegant solution
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2517 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mmx_defs.h')
-rw-r--r-- | mmx_defs.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/mmx_defs.h b/mmx_defs.h new file mode 100644 index 0000000000..4cf295a8b1 --- /dev/null +++ b/mmx_defs.h @@ -0,0 +1,55 @@ +/* + This file contains most common definitions to make MMX stuff + easy portable between different kinds of mmx clones + Written By Nick Kurshev <nickols_k@mail.ru> +*/ + +#ifndef MMXDEFS_INCLUDED +#define MMXDEFS_INCLUDED + +#include "config.h" + +#undef HAVE_MMX1 +#if defined(HAVE_MMX) && !defined(HAVE_MMX2) && !defined(HAVE_3DNOW) && !defined(HAVE_SSE) +#define HAVE_MMX1 +#endif + +#undef HAVE_K6_2PLUS +#if !defined( HAVE_MMX2 ) && defined( HAVE_3DNOW ) +#define HAVE_K6_2PLUS +#endif + +#ifdef HAVE_SSE2 +#define MMREG_SIZE 16 +#else +#define MMREG_SIZE 8 +#endif + +#ifdef HAVE_3DNOW +#define PREFETCH "prefetch" +#define PREFETCHW "prefetchw" +#elif defined ( HAVE_MMX2 ) +#define PREFETCH "prefetchnta" +#define PREFETCHW "prefetcht0" +#else +#define PREFETCH "/nop" +#define PREFETCHW "/nop" +#endif + +#ifdef HAVE_K6_2PLUS +/* On K6 femms is faster of emms. On K7 femms is directly mapped on emms. */ +#define EMMS "femms" +#else +#define EMMS "emms" +#endif + +#ifdef HAVE_MMX2 +#define MOVNTQ "movntq" +#define SFENCE "sfence" +#else +#define MOVNTQ "movq" +#define SFENCE "/nop" +#endif + + +#endif
\ No newline at end of file |