Microchip® Advanced Software Framework

vect_dsp16_convpart_at32uc.c File Reference
#include "dsp.h"
#include "preprocessor.h"

Macros

#define ASM_INSTRUCT_COMPACKED(str)   str
 
#define ASM_INSTRUCT_EXTENDED(str)   str
 
#define DSP16_COMPUT_TAP_4x4_0(r_vect1, r_h, r_i, r_sum1, r_sum2, r_sum3, r_sum4)
 
#define DSP16_COMPUT_TAP_4x4_1(r_vect1, r_h, r_i, r_sum1, r_sum2, r_sum3, r_sum4)
 
#define DSP16_COMPUT_TAP_4x4_2(r_vect1, r_h, r_i, r_sum1, r_sum2, r_sum3, r_sum4)
 
#define DSP16_COMPUT_TAP_4x4_3(r_vect1, r_h, r_i, r_sum1, r_sum2, r_sum3, r_sum4)
 
#define DSP16_COMPUT_TAP_ENDING_0(r_vect1, r_h, r_i, r_sum1, r_sum2, r_sum3, r_sum4)
 
#define DSP16_COMPUT_TAP_ENDING_1(r_vect1, r_h, r_i, r_sum1, r_sum2, r_sum3, r_sum4)
 
#define DSP16_COMPUT_TAP_ENDING_2(r_vect1, r_h, r_i, r_sum1, r_sum2, r_sum3, r_sum4)
 
#define DSP16_COMPUT_TAP_ENDING_3(r_vect1, r_h, r_i, r_sum1, r_sum2, r_sum3, r_sum4)
 
#define DSP16_CONVPART_KERNEL_X_FCT(x_num, data)   __attribute__((__naked__)) DSP16_CONVPART_KERNEL_X_FCT__(x_num, data)
 
#define DSP16_CONVPART_KERNEL_X_FCT__(x_num, data)
 

Functions

void dsp16_vect_convpart (dsp16_t *vect1, dsp16_t *vect2, int vect2_size, dsp16_t *vect3, int vect3_size)
 16-bit fixed point version of the Partial Convolution. More...
 

#define ASM_INSTRUCT_COMPACKED (   str)    str
#define ASM_INSTRUCT_EXTENDED (   str)    str
#define DSP16_COMPUT_TAP_4x4_0 (   r_vect1,
  r_h,
  r_i,
  r_sum1,
  r_sum2,
  r_sum3,
  r_sum4 
)
Value:
"ld.d r4, --"ASTRINGZ(r_h)"\n\t" \
"ld.d r6, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum1)", r4:b, r7:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r4:t, r7:b\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r5:b, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r5:t, r6:b\n\t" \
\
"sub "ASTRINGZ(r_i)", -4\n\t" \
\
"ld.d r10, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum2)", r4:b, r7:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r4:t, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r5:b, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r5:t, r11:t\n\t" \
\
"machh.w "ASTRINGZ(r_sum3)", r4:b, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r4:t, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r5:b, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r5:t, r11:b\n\t" \
\
"machh.w "ASTRINGZ(r_sum4)", r4:b, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r4:t, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r5:b, r11:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r5:t, r10:t\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define DSP16_COMPUT_TAP_4x4_1 (   r_vect1,
  r_h,
  r_i,
  r_sum1,
  r_sum2,
  r_sum3,
  r_sum4 
)
Value:
"ld.d r4, --"ASTRINGZ(r_h)"\n\t" \
"ldins.h r5:t, "ASTRINGZ(r_h)"[8]\n\t" \
"ld.d r6, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum1)", r5:t, r7:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r4:b, r7:b\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r4:t, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r5:b, r6:b\n\t" \
\
"sub "ASTRINGZ(r_i)", -4\n\t" \
\
"ld.d r10, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum2)", r5:t, r7:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r4:b, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r4:t, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r5:b, r11:t\n\t" \
\
"machh.w "ASTRINGZ(r_sum3)", r5:t, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r4:b, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r4:t, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r5:b, r11:b\n\t" \
\
"machh.w "ASTRINGZ(r_sum4)", r5:t, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r4:b, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r4:t, r11:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r5:b, r10:t\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define DSP16_COMPUT_TAP_4x4_2 (   r_vect1,
  r_h,
  r_i,
  r_sum1,
  r_sum2,
  r_sum3,
  r_sum4 
)
Value:
"ld.d r4, --"ASTRINGZ(r_h)"\n\t" \
"ld.d r6, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum1)", r4:b, r7:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r4:t, r7:b\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r5:b, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r5:t, r6:b\n\t" \
\
"sub "ASTRINGZ(r_i)", -4\n\t" \
\
"ld.d r10, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum2)", r4:b, r7:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r4:t, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r5:b, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r5:t, r11:t\n\t" \
\
"machh.w "ASTRINGZ(r_sum3)", r4:b, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r4:t, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r5:b, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r5:t, r11:b\n\t" \
\
"machh.w "ASTRINGZ(r_sum4)", r4:b, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r4:t, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r5:b, r11:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r5:t, r10:t\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define DSP16_COMPUT_TAP_4x4_3 (   r_vect1,
  r_h,
  r_i,
  r_sum1,
  r_sum2,
  r_sum3,
  r_sum4 
)
Value:
"ld.d r4, --"ASTRINGZ(r_h)"\n\t" \
"ldins.h r5:t, "ASTRINGZ(r_h)"[8]\n\t" \
"ld.d r6, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum1)", r5:t, r7:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r4:b, r7:b\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r4:t, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r5:b, r6:b\n\t" \
\
"sub "ASTRINGZ(r_i)", -4\n\t" \
\
"ld.d r10, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum2)", r5:t, r7:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r4:b, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r4:t, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r5:b, r11:t\n\t" \
\
"machh.w "ASTRINGZ(r_sum3)", r5:t, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r4:b, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r4:t, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r5:b, r11:b\n\t" \
\
"machh.w "ASTRINGZ(r_sum4)", r5:t, r6:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r4:b, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r4:t, r11:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r5:b, r10:t\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define DSP16_COMPUT_TAP_ENDING_0 (   r_vect1,
  r_h,
  r_i,
  r_sum1,
  r_sum2,
  r_sum3,
  r_sum4 
)
#define DSP16_COMPUT_TAP_ENDING_1 (   r_vect1,
  r_h,
  r_i,
  r_sum1,
  r_sum2,
  r_sum3,
  r_sum4 
)
Value:
"ld.sh r4, "ASTRINGZ(r_h)"[0x0]\n\t" \
\
"machh.w "ASTRINGZ(r_sum1)", r4:b, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r4:b, r11:b\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r4:b, r10:t\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r4:b, r10:b\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define DSP16_COMPUT_TAP_ENDING_2 (   r_vect1,
  r_h,
  r_i,
  r_sum1,
  r_sum2,
  r_sum3,
  r_sum4 
)
Value:
\
"ld.w r4, --"ASTRINGZ(r_h)"\n\t" \
\
"sub "ASTRINGZ(r_i)", -4\n\t" \
\
"ld.sh r6, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum1)", r4:b, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r4:t, r11:b\n\t" \
\
"machh.w "ASTRINGZ(r_sum2)", r4:b, r11:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r4:t, r10:t\n\t" \
\
"machh.w "ASTRINGZ(r_sum3)", r4:b, r10:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r4:t, r10:b\n\t" \
\
"machh.w "ASTRINGZ(r_sum4)", r4:b, r10:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r4:t, r6:b\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define DSP16_COMPUT_TAP_ENDING_3 (   r_vect1,
  r_h,
  r_i,
  r_sum1,
  r_sum2,
  r_sum3,
  r_sum4 
)
Value:
\
"sub "ASTRINGZ(r_h)", 4\n\t" \
"ld.d r4, "ASTRINGZ(r_h)"\n\t" \
\
"sub "ASTRINGZ(r_i)", -4\n\t" \
"ld.w r6, "ASTRINGZ(r_vect1)"["ASTRINGZ(r_i)" << 1]\n\t" \
\
"machh.w "ASTRINGZ(r_sum1)", r4:t, r11:t\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r5:b, r11:b\n\t" \
"machh.w "ASTRINGZ(r_sum1)", r5:t, r10:t\n\t" \
\
"machh.w "ASTRINGZ(r_sum2)", r4:t, r11:b\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r5:b, r10:t\n\t" \
"machh.w "ASTRINGZ(r_sum2)", r5:t, r10:b\n\t" \
\
"machh.w "ASTRINGZ(r_sum3)", r4:t, r10:t\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r5:b, r10:b\n\t" \
"machh.w "ASTRINGZ(r_sum3)", r5:t, r6:t\n\t" \
\
"machh.w "ASTRINGZ(r_sum4)", r4:t, r10:b\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r5:b, r6:t\n\t" \
"machh.w "ASTRINGZ(r_sum4)", r5:t, r6:b\n\t" \
/*********************************************************************************************/
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define DSP16_CONVPART_KERNEL_X_FCT (   x_num,
  data 
)    __attribute__((__naked__)) DSP16_CONVPART_KERNEL_X_FCT__(x_num, data)
#define DSP16_CONVPART_KERNEL_X_FCT__ (   x_num,
  data 
)