arm's multiply(arm的乘)之三

路转峰回

发现编译器的优化比较复杂,在代码结构不同的情况下做的优化也完全不同。

又做了一个实验,这次evc很笨没有做优化

int array[1000];
int res;

for(int p1=0;p1<1000;p1++)
for(int p2=0;p2<1000;p2++)
for(int p3=0;p3<1000;p3++)
res = array[1000]*105;

这次实测结果是大概都在43xxx ms左右。

而我把105改成10005后居然到了53xxx ms!!!
看反汇编后的代码也发现是用了mul指令,即没有优化。

但要注意的是stongarm的mul指令最多是2个cycle.和以前的multiplier不同了!!!

posted on 2004-07-01 14:34  embed  阅读(930)  评论(2编辑  收藏  举报

导航