diff --git a/libavcodec/mips/mathops.h b/libavcodec/mips/mathops.h index dd80f68072..573d325bf1 100644 --- a/libavcodec/mips/mathops.h +++ b/libavcodec/mips/mathops.h @@ -28,28 +28,7 @@ #if HAVE_INLINE_ASM #if HAVE_LOONGSON - -static inline av_const int64_t MAC64(int64_t d, int a, int b) -{ - int64_t m; - __asm__ ("dmult.g %1, %2, %3 \n\t" - "daddu %0, %0, %1 \n\t" - : "+r"(d), "=&r"(m) : "r"(a), "r"(b)); - return d; -} -#define MAC64(d, a, b) ((d) = MAC64(d, a, b)) - -static inline av_const int64_t MLS64(int64_t d, int a, int b) -{ - int64_t m; - __asm__ ("dmult.g %1, %2, %3 \n\t" - "dsubu %0, %0, %1 \n\t" - : "+r"(d), "=&r"(m) : "r"(a), "r"(b)); - return d; -} -#define MLS64(d, a, b) ((d) = MLS64(d, a, b)) - -#elif ARCH_MIPS64 +#if ARCH_MIPS64 static inline av_const int64_t MAC64(int64_t d, int a, int b) { @@ -75,8 +54,32 @@ static inline av_const int64_t MLS64(int64_t d, int a, int b) } #define MLS64(d, a, b) ((d) = MLS64(d, a, b)) +#else + +static inline av_const int64_t MAC64(int64_t d, int a, int b) +{ + int64_t m; + __asm__ ("dmult.g %1, %2, %3 \n\t" + "daddu %0, %0, %1 \n\t" + : "+r"(d), "=&r"(m) : "r"(a), "r"(b)); + return d; +} +#define MAC64(d, a, b) ((d) = MAC64(d, a, b)) + +static inline av_const int64_t MLS64(int64_t d, int a, int b) +{ + int64_t m; + __asm__ ("dmult.g %1, %2, %3 \n\t" + "dsubu %0, %0, %1 \n\t" + : "+r"(d), "=&r"(m) : "r"(a), "r"(b)); + return d; +} +#define MLS64(d, a, b) ((d) = MLS64(d, a, b)) + #endif +#endif /* HAVE_LOONGSON */ + #endif /* HAVE_INLINE_ASM */ #endif /* AVCODEC_MIPS_MATHOPS_H */