我正在尝试使用DSP c66x内部函数来做32x32乘法运算。
我的价值观是这样的
int32_t beta[4] ={185931936,84529224,-144944792,-175891288};
int32_t alfa[4] ={28505,24851,11653,13268};CPP代码:
int64_t mult =0;
for(int i=0;i<4;i++){
mult += beta[i] * alfa[i];
}C66x代码:
__x128_t _qmpy32 (__x128_t src1, __x128_t src2);我计划使用上面的指令,但问题是我没有找到任何指令,可以给我2x64位而不是4x32位的.and,因为上面的指令我得到了错误的结果.Can任何人告诉我有没有其他指令可以用DSP c66x将两个32位的值相乘,得到64位的结果
发布于 2015-11-28 02:23:44
你要找的是_mpy32ll。试试这个:
mult += _mpy32ll(beta[i], alfa[i]);https://stackoverflow.com/questions/33939744
复制相似问题