21 #ifndef AVUTIL_ARM_INTMATH_H    22 #define AVUTIL_ARM_INTMATH_H    33 #define av_clip_uint8 av_clip_uint8_arm    37     __asm__ (
"usat %0, #8,  %1" : 
"=r"(x) : 
"r"(a));
    41 #define av_clip_int8 av_clip_int8_arm    45     __asm__ (
"ssat %0, #8,  %1" : 
"=r"(x) : 
"r"(a));
    49 #define av_clip_uint16 av_clip_uint16_arm    53     __asm__ (
"usat %0, #16, %1" : 
"=r"(x) : 
"r"(a));
    57 #define av_clip_int16 av_clip_int16_arm    61     __asm__ (
"ssat %0, #16, %1" : 
"=r"(x) : 
"r"(a));
    65 #define av_clip_intp2 av_clip_intp2_arm    69     __asm__ (
"ssat %0, %2, %1" : 
"=r"(x) : 
"r"(a), 
"i"(p+1));
    73 #define av_clip_uintp2 av_clip_uintp2_arm    77     __asm__ (
"usat %0, %2, %1" : 
"=r"(x) : 
"r"(a), 
"i"(p));
    81 #define av_sat_add32 av_sat_add32_arm    85     __asm__ (
"qadd %0, %1, %2" : 
"=r"(r) : 
"r"(a), 
"r"(b));
    89 #define av_sat_dadd32 av_sat_dadd32_arm    93     __asm__ (
"qdadd %0, %1, %2" : 
"=r"(r) : 
"r"(a), 
"r"(b));
    97 #define av_sat_sub32 av_sat_sub32_arm   101     __asm__ (
"qsub %0, %1, %2" : 
"=r"(r) : 
"r"(a), 
"r"(b));
   105 #define av_sat_dsub32 av_sat_dsub32_arm   109     __asm__ (
"qdsub %0, %1, %2" : 
"=r"(r) : 
"r"(a), 
"r"(b));
   117 #define av_clipl_int32 av_clipl_int32_arm   121     __asm__ (
"adds   %1, %R2, %Q2, lsr #31  \n\t"   123              "mvnne  %1, #1<<31             \n\t"   125              "eorne  %0, %1,  %R2, asr #31  \n\t"   126              : 
"=r"(x), 
"=&r"(y) : 
"r"(a) : 
"cc");
 
Macro definitions for various function/variable attributes.