Advertisement

A Code Selection Method for SIMD Processors with PACK Instructions

  • Hiroaki Tanaka
  • Shinsuke Kobayashi
  • Yoshinori Takeuchi
  • Keishi Sakanushi
  • Masaharu Imai
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2826)

Abstract

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.

Keywords

Data Transfer Integer Linear Program Single Instruction Multiple Data Code Size Destination Register 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Texas Instruments. TMS320C6000 CPU and Instruction Set Reference Guide (2000)Google Scholar
  2. 2.
    Philips Semiconductors. PNX 1300 Series Databook (2002)Google Scholar
  3. 3.
    MIPS Technology. MIPS64 Architecture For Programmers Volume II: The MIPS64 Instruction Set (2001)Google Scholar
  4. 4.
    SWARC: SIMD Within a Register C, http://www.ece.purdue.edu/~hankd/SWAR/Scc.html
  5. 5.
    Larsen, S.: Exploiting Superword Level Parallelism with Multimedia Instruction Sets. ACM SIGPLAN Notices 35(5), 145–156 (2000)CrossRefGoogle Scholar
  6. 6.
    Leupers, R.: Code Optimization Techniques for Embedded Processors. Kluwer Academic Publishers, Dordrecht (2000)zbMATHGoogle Scholar
  7. 7.
    Aho, A.V., Ganapathi, M., Tijang, S.W.K.: Code Generation Using Tree Matching and Dynamic Programming. ACM Trans. on Programming Languages and Systems 11(4), 491–516 (1989)CrossRefGoogle Scholar
  8. 8.
    Hennessy, J.L., Patterson, D.A.: Computer Architecture – A Quantitative Approach. Morgan Kaufmann Publishers Inc., San Francisco (1990)Google Scholar
  9. 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. 10.
    ACE Associated Compiler Experts, http://www.ace.nl/
  11. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Hiroaki Tanaka
    • 1
  • Shinsuke Kobayashi
    • 1
  • Yoshinori Takeuchi
    • 1
  • Keishi Sakanushi
    • 1
  • Masaharu Imai
    • 1
  1. 1.Graduate School of Information Science and TechnologyOsaka University 

Personalised recommendations