基于Matrix2 DSP的32位指令编译支持与实现
Matrix2DSP是由国防科学技术大学微电子所自主研发基于GCC支持64位指令的DSP,计算中有大量的32位操作.GCC是自由软件协会开发的支持多语言、平台的编译器,结构上分为前端、中端和后端。在Matrix2体系结构的基础上,简要分析了GCC内部编译的优化遍,并在expand优化遍之后添加了一个新的优化遍.该优化遍在读取到源程序中有两条相同的32位运算时(如加法运算),将会修改目标寄存器内存地址及RTL指令链,从而实现两条32位运算合并并且自动匹配成一条64位的运算指令(如SADD32).不仅消除了基本块内32位指令对位置的限制,而且实现了与复合指令的合并操作。与原来采用build-in实现SIMD方式相比,不需要程序员掌握目标平台的体系结构和指令集的特点,从而减轻了程序员的负担。通过实验结果可以得知设计方案和实现过程是可行的,并且只有在出现32位指令操作时,才会打开优化遍,不会对其他指令造成影响,具有一定的参考价值。但由于各种原因,还有很多复杂的情况没有考虑到,需要进一步进行研究。
编译器 优化遍 运算指令 合并操作
宋贵环 陈跃跃 孙海燕 王霁 阳柳 涂先胜 周羽丰
国防科技大学计算机学院 长沙410073
国内会议
西宁
中文
175-179
2013-07-20(万方平台首次上网日期,不代表论文的发表时间)