00001 #include "config.h"
00002
00003
00004
00005
00006
00007
00008
00009 #include <stdio.h>
00010 #include <stddef.h>
00011 #include <string.h>
00012 #undef memcpy
00013
00014 #define BLOCK_SIZE 256
00015 #define CONFUSION_FACTOR 0
00016
00017
00018 #ifdef ARCH_X86_64
00019 # define REG_a "rax"
00020 # define REG_b "rbx"
00021 # define MOVX "movq"
00022 #else
00023 # define REG_a "eax"
00024 # define REG_b "ebx"
00025 # define MOVX "movl"
00026 #endif
00027
00028 #define COMPILE_MMX
00029 #define COMPILE_MMX2
00030 #define COMPILE_3DNOW
00031 #define COMPILE_SSE
00032
00033 #undef HAVE_MMX
00034 #undef HAVE_MMX2
00035 #undef HAVE_3DNOW
00036 #undef HAVE_SSE
00037 #undef HAVE_SSE2
00038
00039
00040 #ifdef COMPILE_MMX
00041 #undef RENAME
00042 #define HAVE_MMX
00043 #undef HAVE_MMX2
00044 #undef HAVE_3DNOW
00045 #undef HAVE_SSE
00046 #undef HAVE_SSE2
00047 #define RENAME(a) a ## _MMX
00048 #include "aclib_template.c"
00049 #endif
00050
00051
00052 #ifdef COMPILE_MMX2
00053 #undef RENAME
00054 #define HAVE_MMX
00055 #define HAVE_MMX2
00056 #undef HAVE_3DNOW
00057 #undef HAVE_SSE
00058 #undef HAVE_SSE2
00059 #define RENAME(a) a ## _MMX2
00060 #include "aclib_template.c"
00061 #endif
00062
00063
00064 #ifdef COMPILE_3DNOW
00065 #undef RENAME
00066 #define HAVE_MMX
00067 #undef HAVE_MMX2
00068 #define HAVE_3DNOW
00069 #undef HAVE_SSE
00070 #undef HAVE_SSE2
00071 #define RENAME(a) a ## _3DNow
00072 #include "aclib_template.c"
00073 #endif
00074
00075
00076 #ifdef COMPILE_SSE
00077 #undef RENAME
00078 #define HAVE_MMX
00079 #define HAVE_MMX2
00080 #undef HAVE_3DNOW
00081 #define HAVE_SSE
00082 #define HAVE_SSE2
00083 #define RENAME(a) a ## _SSE
00084 #include "aclib_template.c"
00085 #endif
00086
00087