首页> 外文会议>International symposium on Code Generation and Optimization >Integrated Instruction Selection and Register Allocation for Compact Code Generation Exploiting Freeform Mixing of 16- and 32-bit Instructions
【24h】

Integrated Instruction Selection and Register Allocation for Compact Code Generation Exploiting Freeform Mixing of 16- and 32-bit Instructions

机译:集成的指令选择和注册分配用于紧凑码生成利用16-和32位指令的自由格式混合

获取原文

摘要

For memory constrained embedded systems code size is at least as important as performance. One way of increasing code density is to exploit compact instruction formats, e.g. ARM Thumb, where the processor either operates in stan-dard or compact instruction mode. The ARCompact ISA con-sidered in this paper is different in that it allows freeform mixing of 16- and 32-bit instructions without a mode switch. Compact 16-bit instructions can be used anywhere in the code given that additional register constraints are satisfied. In this paper we present an integrated instruction selection and register allocation methodology and develop two ap-proaches for mixed-mode code generation: a simple oppor-tunistic scheme and a more advanced feedback-guided in-struction selection scheme. We have implemented a code generator targeting the ARCompact ISA and evaluated its ef-fectiveness against the ARC750D embedded processor and the Eembc benchmark suite. On average, we achieve a code size reduction of 16.7% across all benchmarks whilst at the same time improving performance by on average 17.7%.
机译:对于内存约束嵌入式系统代码大小至少与性能一样重要。代码密度的一种方法是利用紧凑的指令格式,例如, ARM Thumb,处理器要么在STAN-DARD或Compact指令模式下运行。本文中的Arcompact ISA Con-Sivered在于它允许在没有模式开关的情况下进行16位和32位指令的自由形式混合。如果满足其他寄存器约束,则可以在代码中的任何位置使用紧凑的16位指令。在本文中,我们介绍了一个集成的指令选择和注册分配方法,并为混合模式代码生成开发了两个AP-plaches:一个简单的替换模式和更高级的反馈引导的结构选择方案。我们已经实现了针对Arcompact ISA的代码生成器,并评估其针对Arc750D嵌入式处理器和EEMBC基准套件的EF-Fective。平均而言,我们在所有基准中达到16.7%的代码大小,同时平均提高性能17.7%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号