• DocumentCode
    543914
  • Title

    A code-generator generator for Multi-Output Instructions

  • Author

    Scharwaechter, Hanno ; Leupers, Rainer ; Ascheid, Gerd ; Meyr, Heinrich ; Youn, Jonghee M. ; Paek, Yunheung

  • Author_Institution
    Integrated Signal Process. Syst., RWTH Aachen Univ., Aachen, Germany
  • fYear
    2007
  • fDate
    Sept. 30 2007-Oct. 3 2007
  • Firstpage
    131
  • Lastpage
    136
  • Abstract
    We address the problem of instruction selection for Multi-Output Instructions (MOIs), producing more than one result. Such inherently parallel hardware instructions are very common in the area of Application Specific Instruction Set Processors (ASIPs) and Digital Signal Processors (DSPs) which are frequently used in System-on-Chips as programmable cores. In order to provide high-level programmability, and consequently guarantee widespread acceptance, sophisticated compiler support for these programmable cores is of high importance. Since it is not possible to model MultiOutput Instructions as trees in the compiler´s Intermediate Representation (IR), traditional approaches for code selection are not sufficient. Extending traditional code-generation approaches for MOI-selection is essentially a graph covering problem, which is known to be NP-complete. We present a new heuristic algorithm incorporated in a retargetable code-generator generator capable of exploiting arbitrary inherently parallel MOIs. We prove the concept by integrating the tool into the LCC compiler which has been targeted towards different Instruction Set Architectures based on the MIPS architecture. Several network applications as well as some DSP benchmarks were compiled and evaluated to obtain results.
  • Keywords
    computational complexity; digital signal processing chips; graph theory; instruction sets; system-on-chip; ASIP; DSP; MIPS architecture; NP-complete; SoC; application specific instruction set processors; code selection; code-generator generator; compiler intermediate representation; digital signal processors; graph covering problem; high-level programmability; instruction set architectures; multi-output instructions; parallel hardware instructions; programmable cores; system-on-chips; Assembly; Encryption; Generators; Grammar; Pattern matching; Program processors; Protocols; ASIP; Code-Selection; Compiler/ Architecture Co-Design; ISS;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Hardware/Software Codesign and System Synthesis (CODES+ISSS), 2007 5th IEEE/ACM/IFIP International Conference on
  • Conference_Location
    Salzburg
  • Print_ISBN
    978-1-5959-3824-4
  • Type

    conf

  • Filename
    5753827