您的位置:首页 > 其它

DSP优化经验一

2014-04-23 11:44 204 查看
restrict的作用就是限制一个指针对一块内存的访问,进一步说就是如果一块内存区域通过一个受限制指针访问,那么它就不能通过另一个受限指针访问。

引入restrict的目的是确保同一块内存上没有其它引用,让编译器更好地优化指令,生成更有效的汇编代码。

把#pragma MUST_ITERATE( , , )放在循环体之前,告知开发板循环次数,改善软件流水

MUST_ITERATE告诉编译器循环的属性,但是这些属性必须是真实的,不然程序可能运行出错。此指令主要用于优化C函数循环,一般情况下,只要有循环都最好带上此指令

#pragma MUST_ITERATE(min, max, multiple);其中multiple参数必须有,循环执行次数必是multiple的整数倍。

这个信息对编译器使用软件流水技术非常重要

那min和max是最大和最小循环次数

const short *restrict x;

//Assumption: Vectors x and h are double-word aligned

_nassert((int)x % 8 == 0);

是个断言语句。
对条件进行判断,如果为1,通过,为0,则抛出异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: