A Code Selection Method for SIMD Processors with PACK Instructions
This paper proposes a code selection method for SIMD instructions considering PACK instructions. The proposed method is based on a code selection method using Integer Linear Programming. The proposed method selects SIMD instructions efficiently, because it considers data transfer between registers. Data transfers are represented as nodes of PACK instructions. In the proposed method, nodes for data transfers are added to DAGs representing basic blocks. The nodes are covered by covering rules for PACK instructions. Code selection problems are formulated into Integer Linear Programming. Experimental results show that the proposed method reduced code size by 10% and execution cycles by 20 % or more, comparing to the method without PACK instructions.
KeywordsData Transfer Integer Linear Program Single Instruction Multiple Data Code Size Destination Register
Unable to display preview. Download preview PDF.
- 1.Texas Instruments. TMS320C6000 CPU and Instruction Set Reference Guide (2000)Google Scholar
- 2.Philips Semiconductors. PNX 1300 Series Databook (2002)Google Scholar
- 3.MIPS Technology. MIPS64 Architecture For Programmers Volume II: The MIPS64 Instruction Set (2001)Google Scholar
- 4.SWARC: SIMD Within a Register C, http://www.ece.purdue.edu/~hankd/SWAR/Scc.html
- 8.Hennessy, J.L., Patterson, D.A.: Computer Architecture – A Quantitative Approach. Morgan Kaufmann Publishers Inc., San Francisco (1990)Google Scholar
- 9.Zivojnovic, V., Martinez, J., Schlger, C., Meyr, H.: DSPstone: A DSP-Oriented Benchmarking Methodology. In: Proc. of International Conference on Signal Processing Applications and Technology (1994)Google Scholar
- 10.ACE Associated Compiler Experts, http://www.ace.nl/
- 11.Kobayashi, S., Mita, K., Takeuchi, Y., Imai, M.: A Compiler Generation Method for HW/SW Codesign Based on Configurable Processors. IEICE Trans. on Fundamentals of Electronics, Communications and Computer Sciences E85-A(12), 2586–2595 (2002)Google Scholar