jzmedia.h
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· C头文件 代码 · 共 1,192 行 · 第 1/4 页
H
1,192 行
do { \ __asm__ __volatile ("Q8ADDE xr%0,xr%1,xr%2,xr%3,AA" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0) #define Q8ADDE_AS(xra,xrb,xrc,xrd) \ do { \ __asm__ __volatile ("Q8ADDE xr%0,xr%1,xr%2,xr%3,AS" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0) #define Q8ADDE_SA(xra,xrb,xrc,xrd) \ do { \ __asm__ __volatile ("Q8ADDE xr%0,xr%1,xr%2,xr%3,SA" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0) #define Q8ADDE_SS(xra,xrb,xrc,xrd) \ do { \ __asm__ __volatile ("Q8ADDE xr%0,xr%1,xr%2,xr%3,SS" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0)/************************************Q8ACCE********************************/#define Q8ACCE_AA(xra,xrb,xrc,xrd) \ do { \ __asm__ __volatile ("Q8ACCE xr%0,xr%1,xr%2,xr%3,AA" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0) #define Q8ACCE_AS(xra,xrb,xrc,xrd) \ do { \ __asm__ __volatile ("Q8ACCE xr%0,xr%1,xr%2,xr%3,AS" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0) #define Q8ACCE_SA(xra,xrb,xrc,xrd) \ do { \ __asm__ __volatile ("Q8ACCE xr%0,xr%1,xr%2,xr%3,SA" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0) #define Q8ACCE_SS(xra,xrb,xrc,xrd) \ do { \ __asm__ __volatile ("Q8ACCE xr%0,xr%1,xr%2,xr%3,SS" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0)/************************************Q8ABD********************************/#define Q8ABD(xra,xrb,xrc) \ do { \ __asm__ __volatile ("Q8ABD xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0) /************************************Q8SLT********************************/#define Q8SLT(xra,xrb,xrc) \ do { \ __asm__ __volatile ("Q8SLT xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0) /************************************Q8SAD********************************/#define Q8SAD(xra,xrb,xrc,xrd) \ do { \ __asm__ __volatile ("Q8SAD xr%0,xr%1,xr%2,xr%3" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd)); \ } while (0) /********************************Q8AVG/Q8AVGR*****************************/ #define Q8AVG(xra,xrb,xrc) \ do { \ __asm__ __volatile ("Q8AVG xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0) #define Q8AVGR(xra,xrb,xrc) \ do { \ __asm__ __volatile ("Q8AVGR xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0) /**********************************D32SHIFT******************************/#define D32SLL(xra,xrb,xrc,xrd,SFT4) \ do { \ __asm__ __volatile ("D32SLL xr%0,xr%1,xr%2,xr%3,%4" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd),"K"(SFT4)); \ } while (0) #define D32SLR(xra,xrb,xrc,xrd,SFT4) \ do { \ __asm__ __volatile ("D32SLR xr%0,xr%1,xr%2,xr%3,%4" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd),"K"(SFT4)); \ } while (0)#define D32SAR(xra,xrb,xrc,xrd,SFT4) \ do { \ __asm__ __volatile ("D32SAR xr%0,xr%1,xr%2,xr%3,%4" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd),"K"(SFT4)); \ } while (0)#define D32SARL(xra,xrb,xrc,SFT4) \ do { \ __asm__ __volatile ("D32SARL xr%0,xr%1,xr%2,%3" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(SFT4)); \ } while (0)#define D32SLLV(xra,xrd,rb) \ do { \ __asm__ __volatile ("D32SLLV xr%0,xr%1,%z2" \ : \ :"K"(xra),"K"(xrd),"d"(rb)); \ } while (0) #define D32SLRV(xra,xrd,rb) \ do { \ __asm__ __volatile ("D32SLRV xr%0,xr%1,%z2" \ : \ :"K"(xra),"K"(xrd),"d"(rb)); \ } while (0)#define D32SARV(xra,xrd,rb) \ do { \ __asm__ __volatile ("D32SARV xr%0,xr%1,%z2" \ : \ :"K"(xra),"K"(xrd),"d"(rb)); \ } while (0)#define D32SARW(xra,xrb,xrc,rb) \ do { \ __asm__ __volatile ("D32SARW xr%0,xr%1,xr%2,%3" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"d"(rb)); \ } while (0)/**********************************Q16SHIFT******************************/#define Q16SLL(xra,xrb,xrc,xrd,SFT4) \ do { \ __asm__ __volatile ("Q16SLL xr%0,xr%1,xr%2,xr%3,%4" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd),"K"(SFT4)); \ } while (0) #define Q16SLR(xra,xrb,xrc,xrd,SFT4) \ do { \ __asm__ __volatile ("Q16SLR xr%0,xr%1,xr%2,xr%3,%4" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd),"K"(SFT4)); \ } while (0)#define Q16SAR(xra,xrb,xrc,xrd,SFT4) \ do { \ __asm__ __volatile ("Q16SAR xr%0,xr%1,xr%2,xr%3,%4" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd),"K"(SFT4)); \ } while (0)#define Q16SLLV(xra,xrd,rb) \ do { \ __asm__ __volatile ("Q16SLLV xr%0,xr%1,%z2" \ : \ :"K"(xra),"K"(xrd),"d"(rb)); \ } while (0) #define Q16SLRV(xra,xrd,rb) \ do { \ __asm__ __volatile ("Q16SLRV xr%0,xr%1,%z2" \ : \ :"K"(xra),"K"(xrd),"d"(rb)); \ } while (0)#define Q16SARV(xra,xrd,rb) \ do { \ __asm__ __volatile ("Q16SARV xr%0,xr%1,%z2" \ : \ :"K"(xra),"K"(xrd),"d"(rb)); \ } while (0)/*********************************MAX/MIN*********************************/ #define S32MAX(xra,xrb,xrc) \ do { \ __asm__ __volatile ("S32MAX xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0)#define S32MIN(xra,xrb,xrc) \ do { \ __asm__ __volatile ("S32MIN xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0)#define D16MAX(xra,xrb,xrc) \ do { \ __asm__ __volatile ("D16MAX xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0)#define D16MIN(xra,xrb,xrc) \ do { \ __asm__ __volatile ("D16MIN xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0)#define Q8MAX(xra,xrb,xrc) \ do { \ __asm__ __volatile ("Q8MAX xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0)#define Q8MIN(xra,xrb,xrc) \ do { \ __asm__ __volatile ("Q8MIN xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0) /*************************************MOVE********************************/ #define S32I2M(xra,rb) \ do { \ __asm__ __volatile ("S32I2M xr%0,%z1" \ : \ :"K"(xra),"d"(rb)); \ } while (0) #define S32M2I(xra) \__extension__ ({ \ int __d; \ __asm__ __volatile ("S32M2I xr%1, %0" \ :"=d"(__d) \ :"K"(xra)); \ __d; \}) /*********************************S32SFL**********************************/ #define S32SFL(xra,xrb,xrc,xrd,optn2) \ do { \ __asm__ __volatile ("S32SFL xr%0,xr%1,xr%2,xr%3,ptn%4" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd),"K"(optn2)); \ } while (0) /*********************************S32ALN**********************************/ #define S32ALN(xra,xrb,xrc,rs) \ do { \ __asm__ __volatile ("S32ALN xr%0,xr%1,xr%2,%z3" \ : \ :"K"(xra),"K"(xrb),"K"(xrc),"d"(rs)); \ } while (0) /*********************************Q16SAT**********************************/ #define Q16SAT(xra,xrb,xrc) \ do { \ __asm__ __volatile ("Q16SAT xr%0,xr%1,xr%2" \ : \ :"K"(xra),"K"(xrb),"K"(xrc)); \ } while (0) #define i_pref(hint,base,offset) \({ __asm__ __volatile__("pref %0,%2(%1)"::"i"(hint),"r"(base),"i"(offset):"memory");})#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?