Mercurial > libavutil.hg
changeset 111:6199da3bf29e libavutil
simplify asm mid_pred, as suggested by michaelni.
author | lorenm |
---|---|
date | Thu, 21 Sep 2006 17:48:45 +0000 |
parents | 813b7366ac3f |
children | aedf5cf3de93 |
files | common.h |
diffstat | 1 files changed, 9 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/common.h Thu Sep 21 07:31:53 2006 +0000 +++ b/common.h Thu Sep 21 17:48:45 2006 +0000 @@ -236,18 +236,17 @@ static inline int mid_pred(int a, int b, int c) { #if (defined(ARCH_X86) && __CPU__ >= 686 || defined(ARCH_X86_64)) && !defined(RUNTIME_CPUDETECT) - int i=a, j=a; + int i=b; 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" - "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; #elif 0