jzmedia.h

来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· C头文件 代码 · 共 1,192 行 · 第 1/4 页

H
1,192
字号
#ifndef _MXU_H_#define _MXU_H_#define xr0 0#define xr1 1#define xr2 2#define xr3 3#define xr4 4#define xr5 5#define xr6 6#define xr7 7#define xr8 8#define xr9 9#define xr10 10#define xr11 11#define xr12 12#define xr13 13#define xr14 14#define xr15 15#define xr16 16#define ptn0 0#define ptn1 1#define ptn2 2#define ptn3 3/***********************************LD/SD***********************************/#define S32LDD(xra,rb,s12)									\  do { 														\    __asm__ __volatile ("S32LDD xr%0,%z1,%2"		        \			: 												\ 	        :"K"(xra),"d" (rb),"I"(s12));					\  } while (0)  #define S32STD(xra,rb,s12)									\  do { 														\    __asm__ __volatile ("S32STD xr%0,%z1,%2"		        \		   : 												\ 	       :"K"(xra),"d" (rb),"I"(s12):"memory");					\  } while (0)#define S32LDDV(xra,rb,rc,strd2)							\  do { 														\    __asm__ __volatile ("S32LDDV xr%0,%z1,%z2,%3"		    \		   : 												\ 	       :"K"(xra),"d" (rb),"d"(rc),"K"(strd2));		\  } while (0)  #define S32STDV(xra,rb,rc,strd2)							\  do { 														\    __asm__ __volatile ("S32STDV xr%0,%z1,%z2,%3"		    \		   : 												\ 	       :"K"(xra),"d" (rb),"d"(rc),"K"(strd2):"memory");		\  } while (0)  #define S32LDI(xra,rb,s12)									\  do { 														\    __asm__ __volatile ("S32LDI xr%1,%z0,%2"		        \		   :"+d" (rb)										\ 	       :"K"(xra),"I"(s12));								\  } while (0)  #define S32SDI(xra,rb,s12)									\  do { 														\    __asm__ __volatile ("S32SDI xr%1,%z0,%2"		        \		   :"+d" (rb)				\ 	       :"K"(xra),"I"(s12):"memory");			\  } while (0)#define S32LDIV(xra,rb,rc,strd2)							\  do { 														\    __asm__ __volatile ("S32LDIV xr%1,%z0,%z2,%3"	        \		   :"+d" (rb)										\ 	       :"K"(xra),"d"(rc),"K"(strd2));					\  } while (0)  #define S32SDIV(xra,rb,rc,strd2)							\  do { 														\    __asm__ __volatile ("S32SDIV xr%1,%z0,%z2,%3"	        \		   :"+d" (rb)										\ 	       :"K"(xra),"d"(rc),"K"(strd2):"memory");					\  } while (0)/***********************************D16MUL***********************************/  #define D16MUL_WW(xra,xrb,xrc,xrd)                              \ do { 															\    __asm__ __volatile ("D16MUL xr%0,xr%1,xr%2,xr%3,WW"         \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)    #define D16MUL_LW(xra,xrb,xrc,xrd)                              \ do { 															\    __asm__ __volatile ("D16MUL xr%0,xr%1,xr%2,xr%3,LW"         \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)   #define D16MUL_HW(xra,xrb,xrc,xrd)                              \ do { 															\    __asm__ __volatile ("D16MUL xr%0,xr%1,xr%2,xr%3,HW"         \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)      #define D16MUL_XW(xra,xrb,xrc,xrd)                              \ do { 															\    __asm__ __volatile ("D16MUL xr%0,xr%1,xr%2,xr%3,XW"         \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0) /**********************************D16MULF*******************************/  #define D16MULF_WW(xra,xrb,xrc)                                 \	do { 														\    __asm__ __volatile ("D16MULF xr%0,xr%1,xr%2,WW"            \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc));                  \  } while (0)    #define D16MULF_LW(xra,xrb,xrc)                                 \ do { 															\    __asm__ __volatile ("D16MULF xr%0,xr%1,xr%2,LW"            \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc));                  \  } while (0)   #define D16MULF_HW(xra,xrb,xrc)									\ do { 															\    __asm__ __volatile ("D16MULF xr%0,xr%1,xr%2,HW"            \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc));                  \  } while (0)      #define D16MULF_XW(xra,xrb,xrc)                                 \ do { 															\    __asm__ __volatile ("D16MULF xr%0,xr%1,xr%2,XW"            \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc));                  \  } while (0) /***********************************D16MAC********************************/#define D16MAC_AA_WW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,AA,WW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)    #define D16MAC_AA_LW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,AA,LW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)  #define D16MAC_AA_HW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,AA,HW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)      #define D16MAC_AA_XW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,AA,XW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)#define D16MAC_AS_WW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,AS,WW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)    #define D16MAC_AS_LW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,AS,LW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)   #define D16MAC_AS_HW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,AS,HW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)      #define D16MAC_AS_XW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,AS,XW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)#define D16MAC_SA_WW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,SA,WW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)    #define D16MAC_SA_LW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,SA,LW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)   #define D16MAC_SA_HW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,SA,HW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)      #define D16MAC_SA_XW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,SA,XW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0) #define D16MAC_SS_WW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,SS,WW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)    #define D16MAC_SS_LW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,SS,LW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)   #define D16MAC_SS_HW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,SS,HW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)      #define D16MAC_SS_XW(xra,xrb,xrc,xrd)                           \ do { 															\    __asm__ __volatile ("D16MAC xr%0,xr%1,xr%2,xr%3,SS,XW"      \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)   /**********************************D16MACF*******************************/#define D16MACF_AA_WW(xra,xrb,xrc,xrd)                          \ do { 															\    __asm__ __volatile ("D16MACF xr%0,xr%1,xr%2,xr%3,AA,WW"     \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)    #define D16MACF_AA_LW(xra,xrb,xrc,xrd)                          \ do { 															\    __asm__ __volatile ("D16MACF xr%0,xr%1,xr%2,xr%3,AA,LW"     \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)  #define D16MACF_AA_HW(xra,xrb,xrc,xrd)                          \ do { 															\    __asm__ __volatile ("D16MACF xr%0,xr%1,xr%2,xr%3,AA,HW"     \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)      #define D16MACF_AA_XW(xra,xrb,xrc,xrd)                          \ do { 															\    __asm__ __volatile ("D16MACF xr%0,xr%1,xr%2,xr%3,AA,XW"     \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)#define D16MACF_AS_WW(xra,xrb,xrc,xrd)                          \ do { 															\    __asm__ __volatile ("D16MACF xr%0,xr%1,xr%2,xr%3,AS,WW"     \                 :                                              \                 :"K"(xra),"K"(xrb),"K"(xrc),"K"(xrd));         \  } while (0)    #define D16MACF_AS_LW(xra,xrb,xrc,xrd)                          \ do { 															\    __asm__ __volatile ("D16MACF xr%0,xr%1,xr%2,xr%3,AS,LW"     \

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?