Translating the ARM Neon and VFP instructions in a binary translator

被引:6
|
作者
Guo, Yu-Chuan [1 ]
Yang, Wuu [1 ]
Chen, Jiunn-Yeu [1 ]
Lee, Jenq-Kuen [2 ]
机构
[1] Natl Chiao Tung Univ, Hsinchu, Taiwan
[2] Natl Tsing Hua Univ, Hsinchu, Taiwan
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2016年 / 46卷 / 12期
关键词
binary translation; cloud computing; LLVM; floating-point instruction; Neon; vector instruction; VFP; virtualization;
D O I
10.1002/spe.2394
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Binary translation attempts to emulate one instruction set with another on the same or different platforms. The important technique is widely used in modern software. Vector and floating-point instructions are widely used in many applications, including multimedia, graphics, and gaming. Although these instructions are usually simulated with software in a binary translator, it is important to support them such that the host single-instruction, multiple-data (SIMD) and floating-point hardware are efficiently used during emulation. We report our design and implementation of the emulation of ARM Neon and vector floating point (VFP) instructions in the machine-code-to-low-level-virtual-machine (MC2LLVM) binary translator. The Neon and VFP instructions are first translated into carefully chosen sequences of LLVM intermediate representation (IR), and later, the IR sequences are optimized and translated into the host native binary by the existing LLVM backend. Because MC2LLVM makes use of the vector and floating-point types in LLVM IR, the generated host native binary can take full advantage of the vector and floating-point functional units, if present, of the host machine. To be fully compliant with Neon and VFP instruction sets, all the features are supported, including the flush-to-zero mode, default not a number mode, and floating-point exceptions. The experimental results show that code generated by MC2LLVM with the Neon and VFP extensions achieves an average speedup of 1.174x in SPEC 2006 benchmark suites and exhibits a floating-point throughput of 12.05x in LINPACK, compared with code generated by MC2LLVM without the Neon and VFP extensions. Furthermore, MC2LLVM is 3.36x faster than QEMU for processing Neon/VFP instructions. Copyright (c) 2016 John Wiley & Sons, Ltd.
引用
下载
收藏
页码:1591 / 1615
页数:25
相关论文
共 50 条
  • [31] Ethos and the style of the translator. The case of Jaccottet translating Leopardi
    Roux, Pascale
    ARGUMENTATION ET ANALYSE DU DISCOURS, 2023, 31
  • [32] Translator's note (Translating Fredrik Nyberg's work)
    Hayashida, J
    LITERARY REVIEW, 2002, 45 (03) : 626 - 626
  • [33] Translating Traditional SIMD Instructions to Vector Length Agnostic Architectures
    Fu, Sheng-Yu
    Hsu, Wei-Chung
    PROCEEDINGS OF THE 2019 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO '19), 2019, : 275 - 275
  • [34] Translating Osip Mandelstam: On Individualized Translation and the Translator's Motivation
    Bednarczyk, Anna
    TEKSTY DRUGIE, 2018, (04): : 350 - 368
  • [35] Translating Natural Language Instructions to Computer Programs for Robot Manipulation
    Venkatesh, Sagar Gubbi
    Upadrashta, Raviteja
    Antrutur, Bharadwaj
    2021 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), 2021, : 1919 - 1926
  • [36] The Performance Analysis of ARM NEON Technology for Mobile Platforms
    Jang, Minwoo
    Choi, Eunseok
    Hong, Jiman
    INFORMATION-AN INTERNATIONAL INTERDISCIPLINARY JOURNAL, 2012, 15 (07): : 2685 - 2694
  • [37] ARM/NEON Co-design of Multiplication/Squaring
    Seo, Hwajeong
    Park, Taehwan
    Ji, Janghyun
    Hu, Zhi
    Kim, Howon
    INFORMATION SECURITY APPLICATIONS, 2018, 10763 : 72 - 84
  • [38] Retiming the ARM VFP-11 divide and square root macrocell
    Burgess, Neil
    CONFERENCE RECORD OF THE FORTY-FIRST ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS & COMPUTERS, VOLS 1-5, 2007, : 363 - 366
  • [39] AdaptPack studio translator: translating offline programming to real palletizing robots
    Carvalho de Souza, Joao Pedro
    Castro, Andre Luiz
    Rocha, Luis F.
    Silva, Manuel F.
    INDUSTRIAL ROBOT-THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH AND APPLICATION, 2020, 47 (05): : 713 - 721