DSPRelated.com
Forums

optimisation of mp3 decoder on BF533 using the 2 MAC units + inline function help

Started by batc...@yahoo.com June 21, 2006
Hi!
I'm trying to optimize the mad mp3 decoder program using the 2 MAC units of BF533 . But I'm unable to understand wherez the multiplication operation going on. I found the following inline functions , but i'm unable to understand the operation they r performing.. plz help me out.
Thank u in advance.
# define MAD_F_MLX(hi, lo, x, y) \
asm ("imull %3" \
: "=a" (lo), "=d" (hi) \
: "%a" (x), "rm" (y) \
: "cc")

# define MAD_F_MLA(hi, lo, x, y) \
({ mad_fixed64hi_t __hi; \
mad_fixed64lo_t __lo; \
MAD_F_MLX(__hi, __lo, (x), (y)); \
asm ("addl %2,%0\n\t" \
"adcl %3,%1" \
: "=rm" (lo), "=rm" (hi) \
: "r" (__lo), "r" (__hi), "0" (lo), "1" (hi) \
: "cc"); \
})
# endif /* OPT_ACCURACY */