Revision 6bb6fb05 libavcodec/bfin/mathops.h
libavcodec/bfin/mathops.h | ||
---|---|---|
24 | 24 |
|
25 | 25 |
#include "config.h" |
26 | 26 |
|
27 |
#if CONFIG_MPEGAUDIO_HP |
|
28 | 27 |
#define MULH(X,Y) ({ int xxo; \ |
29 | 28 |
__asm__ ( \ |
30 | 29 |
"a1 = %2.L * %1.L (FU);\n\t" \ |
... | ... | |
34 | 33 |
"a1 = a1 >>> 16;\n\t" \ |
35 | 34 |
"%0 = (a0 += a1);\n\t" \ |
36 | 35 |
: "=d" (xxo) : "d" (X), "d" (Y) : "A0","A1"); xxo; }) |
37 |
#else |
|
38 |
#define MULH(X,Y) ({ int xxo; \ |
|
39 |
__asm__ ( \ |
|
40 |
"a1 = %2.H * %1.L (IS,M);\n\t" \ |
|
41 |
"a0 = %1.H * %2.H, a1+= %1.H * %2.L (IS,M);\n\t"\ |
|
42 |
"a1 = a1 >>> 16;\n\t" \ |
|
43 |
"%0 = (a0 += a1);\n\t" \ |
|
44 |
: "=d" (xxo) : "d" (X), "d" (Y) : "A0","A1"); xxo; }) |
|
45 |
#endif |
|
46 | 36 |
|
47 | 37 |
/* signed 16x16 -> 32 multiply */ |
48 | 38 |
#define MUL16(a, b) ({ int xxo; \ |
Also available in: Unified diff