Saturated 16 by 32 bit multiply

Started by Morten Mossige May 9, 2006
Saturated 16 by 32 bit multiply


I'm working on a 55x processor and need an efficient 16 by 32 bit saturated
multiply. Since I would like to have my code portable, I don't want to use
assembly. I have used the gsm.h / assembly intrinsic. Can anyone help me
with a suggestion? I can also use a 32 by 32 bit (saturated) algorithm.

Br. Morten

do u require fractional or integer multiplication
wht kind of multiplier does 55x have
16x16 ?
if it supports 16x16 multiplication then 16x32 mult shld be implemented
in 4 instructions

x : 16 bit variable
y : 32 bit variable

temp1 = x * y[0:15]   ---(i)
temp2 = x * y[16:31] ---(ii)
result = saturated addition of temp2<<16 + temp1

if u r going to perform 16x32 mac operation in loop then i will suggest
 using (i) and (ii) in loop and computation of final result in end
after the loop