Commit 5d8c4867 authored by nickols_k's avatar nickols_k

Portability and testing issues


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@55 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 6e6ed3b6
...@@ -37,7 +37,7 @@ LIB= libavcodec.a ...@@ -37,7 +37,7 @@ LIB= libavcodec.a
TESTS= imgresample-test dct-test TESTS= imgresample-test dct-test
all: $(LIB) all: $(LIB)
tests: apiexample $(TESTS) tests: apiexample cpuid_test $(TESTS)
$(LIB): $(OBJS) $(ASM_OBJS) $(LIB): $(OBJS) $(ASM_OBJS)
rm -f $@ rm -f $@
...@@ -70,6 +70,10 @@ distclean: clean ...@@ -70,6 +70,10 @@ distclean: clean
apiexample: apiexample.c $(LIB) apiexample: apiexample.c $(LIB)
$(CC) $(CFLAGS) -o $@ $< $(LIB) -lm $(CC) $(CFLAGS) -o $@ $< $(LIB) -lm
# cpuid test
cpuid_test: i386/cputest.c
$(CC) $(CFLAGS) -D__TEST__ -o $@ $<
# testing progs # testing progs
imgresample-test: imgresample.c imgresample-test: imgresample.c
......
...@@ -6,13 +6,13 @@ ...@@ -6,13 +6,13 @@
/* ebx saving is necessary for PIC. gcc seems unable to see it alone */ /* ebx saving is necessary for PIC. gcc seems unable to see it alone */
#define cpuid(index,eax,ebx,ecx,edx)\ #define cpuid(index,eax,ebx,ecx,edx)\
asm ("movl %%ebx, %%esi\n\t"\ __asm __volatile\
("movl %%ebx, %%esi\n\t"\
"cpuid\n\t"\ "cpuid\n\t"\
"xchgl %%ebx, %%esi"\ "xchgl %%ebx, %%esi"\
: "=a" (eax), "=S" (ebx),\ : "=a" (eax), "=S" (ebx),\
"=c" (ecx), "=d" (edx)\ "=c" (ecx), "=d" (edx)\
: "0" (index)\ : "0" (index));
: "cc")\
/* Function to test if multimedia instructions are supported... */ /* Function to test if multimedia instructions are supported... */
int mm_support(void) int mm_support(void)
...@@ -102,3 +102,13 @@ int mm_support(void) ...@@ -102,3 +102,13 @@ int mm_support(void)
return 0; return 0;
} }
} }
#ifdef __TEST__
int main ( void )
{
int mm_flags;
mm_flags = mm_support();
printf("mm_support = 0x%08u\n",mm_flags);
return 0;
}
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment