22 #ifndef AVCODEC_AVR32_MATHOPS_H
23 #define AVCODEC_AVR32_MATHOPS_H
34 union { int64_t x;
int hl[2]; } x;
35 __asm__ (
"muls.d %0, %1, %2 \n\t"
37 "or %0, %0, %m0<<%4 \n\t"
38 :
"=r"(x) :
"r"(b),
"r"(a),
"i"(shift),
"i"(32-shift));
45 union { int64_t x;
int hl[2]; } x;
46 __asm__ (
"muls.d %0, %1, %2" :
"=r"(x.x) :
"r"(a),
"r"(b));
54 __asm__ (
"muls.d %0, %1, %2" :
"=r"(x) :
"r"(a),
"r"(b));
60 __asm__ (
"macs.d %0, %1, %2" :
"+r"(d) :
"r"(a),
"r"(b));
63 #define MAC64(d, a, b) ((d) = MAC64(d, a, b))
64 #define MLS64(d, a, b) MAC64(d, -(a), b)
68 __asm__ (
"machh.w %0, %1:b, %2:b" :
"+r"(d) :
"r"(a),
"r"(b));
71 #define MAC16(d, a, b) ((d) = MAC16(d, a, b))
72 #define MLS16(d, a, b) MAC16(d, -(a), b)
78 __asm__ (
"mulhh.w %0, %1:b, %2:b" :
"=r"(d) :
"r"(a),
"r"(b));
82 #define mid_pred mid_pred
86 __asm__ (
"mov %0, %2 \n\t"
static int shift(int a, int b)
#define MAC16(rt, ra, rb)
common internal and external API header