From 7995962d4b23619e4cc52b4466f85488749bc718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= Date: Tue, 15 Jul 2008 19:06:25 +0000 Subject: [PATCH] ARM: ARMv6 optimised MULH Originally committed as revision 14243 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/armv4l/mathops.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavcodec/armv4l/mathops.h b/libavcodec/armv4l/mathops.h index cc097c3fff..dd53310683 100644 --- a/libavcodec/armv4l/mathops.h +++ b/libavcodec/armv4l/mathops.h @@ -33,10 +33,20 @@ hi; }) #endif +#ifdef HAVE_ARMV6 +static inline av_const int MULH(int a, int b) +{ + int r; + asm ("smmul %0, %1, %2" : "=r"(r) : "r"(a), "r"(b)); + return r; +} +#define MULH MULH +#else #define MULH(a, b) \ ({ int lo, hi;\ asm ("smull %0, %1, %2, %3" : "=&r"(lo), "=&r"(hi) : "r"(b), "r"(a));\ hi; }) +#endif #if defined(HAVE_ARMV5TE)