#ifndef pxplmacr_h #define pxplmacr_h #define pxpl5_noop() \ st.l r0, 4(rcoeffptr) #define pxpl5_noop_inc() \ st.l r0, 4(rcoeffptr); \ adds 4, rcoeffptr, rcoeffptr #define pxpl5op_0_l(reg,op) \ or (op())&0xffff, r0, reg #define pxpl5op_0_h(reg,op) \ orh ((op())>>16)&0xffff, reg, reg #define pxpl5op_0(reg,op) \ pxpl5op_0_l(reg,op); pxpl5op_0_h(reg,op) #define pxpl5op_1_l(reg,op,a) \ or (op(a))&0xffff, r0, reg #define pxpl5op_1_h(reg,op,a) \ orh ((op(a))>>16)&0xffff, reg, reg #define pxpl5op_1(reg,op,a) \ pxpl5op_1_l(reg,op,(a)); pxpl5op_1_h(reg,op,(a)) #define pxpl5op_2_l(reg,op,a,b) \ or (op((a),(b)))&0xffff, r0, reg #define pxpl5op_2_h(reg,op,a,b) \ orh ((op((a),(b)))>>16)&0xffff, reg, reg #define pxpl5op_2(reg,op,a,b) \ pxpl5op_2_l(reg,op,(a),(b)); pxpl5op_2_h(reg,op,(a),(b)) #define pxpl5op_3_l(reg,op,a,b,c) \ or (op((a),(b),(c)))&0xffff, r0, reg #define pxpl5op_3_h(reg,op,a,b,c) \ orh ((op((a),(b),(c)))>>16)&0xffff, reg, reg #define pxpl5op_3(reg,op,a,b,c) \ pxpl5op_3_l(reg,op,(a),(b),(c)); pxpl5op_3_h(reg,op,(a),(b),(c)) #define pxpl5op_4(reg,op,a,b,c,d) \ or (op((a),(b),(c),(d)))&0xffff, r0, reg; \ orh ((op((a),(b),(c),(d)))>>16)&0xffff, reg, reg #define pxpl5op_5(reg,op,a,b,c,d,e) \ or (op((a),(b),(c),(d),(e)))&0xffff, r0, reg; \ orh ((op((a),(b),(c),(d),(e)))>>16)&0xffff, reg, reg #endif