Comment 4 for bug 666183

Revision history for this message
Michael Hope (michaelh1) wrote :

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.