• DocumentCode
    704025
  • Title

    Improving SIMD code generation in QEMU

  • Author

    Sheng-Yu Fu ; Jan-Jan Wu ; Wei-Chung Hsu

  • Author_Institution
    Dept. of Comput. Sci. & Inf. Eng., Nat. Taiwan Univ., Taipei, Taiwan
  • fYear
    2015
  • fDate
    9-13 March 2015
  • Firstpage
    1233
  • Lastpage
    1236
  • Abstract
    Modern processors are often enhanced using SIMD instructions, such as the MMX, SSE, and AVX instructions set in the x86 architecture, or the NEON instruction set in the ARM architecture. Using these SIMD instructions could significantly increase application performance, hence in application binaries a significant proportion of instructions are likely to be SIMD instructions. However, Dynamic Binary Translation (DBT) has largely overlooked SIMD instruction translation. For example, in the popular QEMU system emulator, guest SIMD instructions are often emulated with a sequence of scalar instructions even when the host machines have SIMD instructions to support such parallel computation, leaving significant potential for performance enhancement. In this paper, we propose two approaches, one leveraging the existing helper function implementation in QEMU, and the other using a newly introduced vector IR (Intermediate Representation) to enhance the performance of SIMD instruction translation in DBT of QEMU. Both approaches were implemented in the QEMU to support ARM and IA32 frontend and x86-64 backend. Preliminary experiments show that adding vector IR can significantly enhance the performance of guest applications containing SIMD instructions for both ARM and IA32 architectures when running with QEMU on the x86-64 platform.
  • Keywords
    instruction sets; parallel architectures; program compilers; ARM architecture; AVX instructions set; DBT; IA32 architectures; MMX instructions set; NEON instruction set; QEMU system emulator; SIMD code generation; SIMD instruction translation; SSE instructions set; dynamic binary translation; parallel computation; vector IR; vector intermediate representation; x86 architecture; Benchmark testing; Computer architecture; Emulation; Generators; Hardware; Optimization; Registers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design, Automation & Test in Europe Conference & Exhibition (DATE), 2015
  • Conference_Location
    Grenoble
  • Print_ISBN
    978-3-9815-3704-8
  • Type

    conf

  • Filename
    7092577