Microchip® Advanced Software Framework

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

Macros

#define ASM_INSTRUCT_COMPACKED(str)   str
 
#define ASM_INSTRUCT_EXTENDED(str)   str
 
#define DSP32_MAX_END_KERNEL_X_FCT(x_num, data)   __attribute__((__naked__)) DSP32_MAX_END_KERNEL_X_FCT__(x_num, data)
 
#define DSP32_MAX_END_KERNEL_X_FCT__(x_num, data)
 
#define DSP32_MAXIMUM_0(r_vect1, max)
 
#define DSP32_MAXIMUM_1(r_vect1, max)
 
#define DSP32_MAXIMUM_2(r_vect1, max)
 
#define DSP32_MAXIMUM_3(r_vect1, max)
 

Functions

dsp32_t dsp32_vect_max (dsp32_t *vect1, int size)
 32-bit fixed point version of the vector maximum function. More...
 
static int dsp32_vect_max_kernel_ext (dsp32_t *vect1, int size, dsp32_t *max)
 avr32-uc3 32 bit version More...
 

#define ASM_INSTRUCT_COMPACKED (   str)    str
#define ASM_INSTRUCT_EXTENDED (   str)    str
#define DSP32_MAX_END_KERNEL_X_FCT (   x_num,
  data 
)    __attribute__((__naked__)) DSP32_MAX_END_KERNEL_X_FCT__(x_num, data)
#define DSP32_MAX_END_KERNEL_X_FCT__ (   x_num,
  data 
)
Value:
static dsp32_t TPASTE2(dsp32_vect_max_end_kernel_x, x_num)(dsp32_t *vect1, dsp32_t max) \
{ \
__asm__ __volatile__ ( \
"pushm r0-r3, lr\n\t" \
TPASTE2(DSP32_MAXIMUM_, x_num)(r12, r11) \
"mov r12, r11\n\t" \
"popm r0-r3, pc\n\t" \
); \
\
return 0; \
}
dsp32_t__ dsp32_t
32-bit signed fixed point type optimized for 32-bit or lower microcontrollers
Definition: dsp_types.h:201
A_ALIGNED dsp32_t vect1[VECT2_SIZE+2 *(VECT3_SIZE-1)+4]
The output buffer.
Definition: convolution_example.c:86
#define TPASTE2(a, b)
Definition: tpaste.h:61
#define max(a, b)
Takes the maximal value of a and b.
Definition: compiler.h:869
#define DSP32_MAXIMUM_0 (   r_vect1,
  max 
)
#define DSP32_MAXIMUM_1 (   r_vect1,
  max 
)
Value:
"ld.w r0, "ASTRINGZ(r_vect1)"[0x0]\n\t" \
"max "ASTRINGZ(max)", "ASTRINGZ(max)", r0\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define max(a, b)
Takes the maximal value of a and b.
Definition: compiler.h:869
#define DSP32_MAXIMUM_2 (   r_vect1,
  max 
)
Value:
"ld.d r0, "ASTRINGZ(r_vect1)"[0x0]\n\t" \
"max "ASTRINGZ(max)", "ASTRINGZ(max)", r0\n\t" \
"max "ASTRINGZ(max)", "ASTRINGZ(max)", r1\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define max(a, b)
Takes the maximal value of a and b.
Definition: compiler.h:869
#define DSP32_MAXIMUM_3 (   r_vect1,
  max 
)
Value:
"ld.d r0, "ASTRINGZ(r_vect1)"[0x0]\n\t" \
"max "ASTRINGZ(max)", "ASTRINGZ(max)", r0\n\t" \
"max "ASTRINGZ(max)", "ASTRINGZ(max)", r1\n\t" \
"ld.w r0, "ASTRINGZ(r_vect1)"[0x8]\n\t" \
"max "ASTRINGZ(max)", "ASTRINGZ(max)", r0\n\t"
#define ASTRINGZ(x)
Absolute stringize.
Definition: stringz.h:71
#define max(a, b)
Takes the maximal value of a and b.
Definition: compiler.h:869

static int dsp32_vect_max_kernel_ext ( dsp32_t vect1,
int  size,
dsp32_t max 
)
static

avr32-uc3 32 bit version

References ASM_INSTRUCT_COMPACKED.

Referenced by dsp32_vect_max().