This is a bug in the upstream inline assembler. libavcodec/arm/mathops.h contains the function:
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)); return m; }
which is missing an IT instruction before the movgt/movle and similar.
This is a bug in the upstream inline assembler. libavcodec/ arm/mathops. h contains the function:
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));
return m;
}
which is missing an IT instruction before the movgt/movle and similar.