|
@@ -236,18 +236,17 @@ static inline int av_log2_16bit(unsigned int v) |
|
|
static inline int mid_pred(int a, int b, int c) |
|
|
static inline int mid_pred(int a, int b, int c) |
|
|
{ |
|
|
{ |
|
|
#if (defined(ARCH_X86) && __CPU__ >= 686 || defined(ARCH_X86_64)) && !defined(RUNTIME_CPUDETECT) |
|
|
#if (defined(ARCH_X86) && __CPU__ >= 686 || defined(ARCH_X86_64)) && !defined(RUNTIME_CPUDETECT) |
|
|
int i=a, j=a; |
|
|
|
|
|
|
|
|
int i=b; |
|
|
asm volatile( |
|
|
asm volatile( |
|
|
"cmp %4, %2 \n\t" |
|
|
|
|
|
"cmovg %4, %0 \n\t" |
|
|
|
|
|
"cmovl %4, %1 \n\t" |
|
|
|
|
|
"cmp %4, %3 \n\t" |
|
|
|
|
|
"cmovg %3, %0 \n\t" |
|
|
|
|
|
|
|
|
"cmp %2, %1 \n\t" |
|
|
|
|
|
"cmovg %1, %0 \n\t" |
|
|
|
|
|
"cmovg %2, %1 \n\t" |
|
|
|
|
|
"cmp %3, %1 \n\t" |
|
|
"cmovl %3, %1 \n\t" |
|
|
"cmovl %3, %1 \n\t" |
|
|
"cmp %3, %2 \n\t" |
|
|
|
|
|
"cmovl %1, %0 \n\t" |
|
|
|
|
|
:"+&r"(i), "+&r"(j) |
|
|
|
|
|
:"r"(a), "r"(b), "r"(c) |
|
|
|
|
|
|
|
|
"cmp %1, %0 \n\t" |
|
|
|
|
|
"cmovg %1, %0 \n\t" |
|
|
|
|
|
:"+&r"(i), "+&r"(a) |
|
|
|
|
|
:"r"(b), "r"(c) |
|
|
); |
|
|
); |
|
|
return i; |
|
|
return i; |
|
|
#elif 0 |
|
|
#elif 0 |
|
|