On Mon, Feb 02, 2009 at 10:22:55PM -0600, Christopher L wrote: > So I go over to the offending line in arm/mathops.h. After reading a few tutorials on assembly, I have found the following. > 1) The "+" modifier isn't allowed by gcc in inline assembly. What gave you that idea? > 2) gcc uses "AT&T" syntax which is "operation source destination" "AT&T-syntax" only exists for x86, so it sure can't use that for ARM. It uses whatever the gnu assembler uses, searching for "GNU assembler ARM" should find enough tutorials. > #define mid_pred mid_pred > static inline av_const int mid_pred(int a, int b, int c) > { > int m; > __asm__ volatile ( > "mov %0, %2 \n\t" > "cmp %1, %2 \n\t" > "movgt %0, %1 \n\t" > "movgt %1, %2 \n\t" > "cmp %1, %3 \n\t" > "movle %1, %3 \n\t" > "cmp %0, %1 \n\t" > "movgt %0, %1 \n\t" > : "=&r"(m), "+r"(a) > : "r"(b), "r"(c)); I can't see how your compiler can run out of registers with only 4 operands used. Either some compilation flags are bad or your compiler version is simply broken IMO. _______________________________________________ MPlayer-users mailing list MPlayer-users@xxxxxxxxxxxx https://lists.mplayerhq.hu/mailman/listinfo/mplayer-users