摘要
设计和实现一个新的产品化的编译器通常需要几年时间。基于已有的编译器进行修改和扩展,是研发面向新体系结构的编译器的主要途径。GNU编译器集合(GCC)支持多种高级语言和多种目标处理器平台、文档及源代码开放等。基于GCC的Sparc后端,实现了支持四路双精度SIMD指令的四路双精度短向量寄存器的描述。在此过程中,定义了新的目标机,扩充了一类向量模式,定义了一类新的寄存器约束,实现了四路双精度寄存器的描述,定义了四路双精度SIMD指令的机器描述。对于面向此类SIMD指令的内嵌函数,GCC编译器能够正确使用该类向量寄存器来生成对应的SIMD指令。
It will cost several years to design and implement a new product-level compiler.Designing and implementing based on an already-issued product-level compiler are the main approach to develop a compiler for a new architecture.GNU compiler collection(GCC)supports multiple high level languages and multiple platforms,and its internal documents and source code are open.Based on the Sparc backend of GCC,we implemented the description of four-way double-precision short vector registers which support four-way double-precision SIMD instructions.In this process,we defined a new target machine,expanded a new vector mode,defined a new class of register constraints,provided the descriptions of four-way double-precision short vector registers,designed the machine descriptions of the four-way doubleprecision SIMD instructions.For the builtin functions for this kind of SIMD instructions,our GCC can produce correct SIMD instructions using such kind of vector registers.
出处
《计算机科学》
CSCD
北大核心
2012年第9期292-295,306,共5页
Computer Science
基金
国家自然科学基金项目(61170046
61170045)资助
关键词
GCC后端
四路双精度
向量寄存器
GCC backend
Four-way double precision
Vector registers