Arm Instruction Emulator

Arm Instruction Emulator (ArmIE) emulates Scalable Vector Extension (SVE) and SVE2 instructions on AArch64 platforms. Based on the DynamoRIO dynamic binary instrumentation framework, ArmIE supports the customized instrumentation of SVE binaries, which enables you to analyze specific aspects of runtime behavior. 

Arm Instruction Emulator:

  • Supports emulating SVE and SVE2 code compiled with Arm Compiler for Linux or GNU Compiler Collection (GCC) compilers.
  • Supports all the latest Armv8-A-based processors, including Neoverse processors.
  • Is supported on all leading Linux distributions: RHEL, SLES, and Ubuntu.
  • Supports emulation and runtime analysis of all AArch64 and SVE instructions when running on Armv8-A compatible hardware.
    Note: Arm Instruction Emulator supports a subset of Armv8.2 instructions, namely fabd, fadd, fsub, fmul, fdiv, fmla, fmadd, fmls, fmsub, fneg, frsqrte, frsqrts, fmax, fmaxp, fcmp, fmov, scvtf, frecpe, fabs, fcmgtz, fcvtzs, frintn, and ucvtf, and two Armv8.3 instructions, namely fcadd and fcmla.

Get software

Square with arrow pointing through (Download icon).

Arm Instruction Emulator does not require a license. You can download and start emulating SVE instructions on any Armv8-A-based hardware.

Note: To compile your SVE code with Arm Compiler for Linux, you will need a license. To get an evaluation license, complete a request form.

Documentation

Get support

The top half of a human.

Request technical support for Arm Instruction Emulator:

Open a Case

Forum

Answered Forum FAQs
  • ARM Community
0 votes 998 views 0 replies Started 4 months ago by Annie Answer this
Not answered Question about OpenCL max constant memory size in Mali G77 0 votes 90 views 0 replies Started 11 days ago by qdev Answer this
Not answered How to get the pipelines stages of the thunderX2 vulcan Micro-architecture like in the classic RISC 5 stages with the corresponding stages names?
  • Armv8.1-A
0 votes 347 views 0 replies Started 1 months ago by Roblex Nana Answer this
Not answered Small Super Computer 0 votes 357 views 0 replies Started 1 months ago by bkelly Answer this
Suggested answer how can I disassemble arm v4 ipod nand? 1 votes 1191 views 1 replies Latest 3 months ago by Andy Neil Answer this
Answered Free Arm Performance Libraries - Compatibility with Cortex-A72
  • Cortex-A72
  • arm performance libraries
1 votes 3340 views 7 replies Latest 6 months ago by John Duffy Answer this
Suggested answer Why does Arm DDT crash when debugging a C++11 thread_safe std::vector?
  • C++
  • Arm Forge
0 votes 3272 views 7 replies Latest 7 months ago by Suyash01 Answer this
Not answered Does Mali GPU has shared(local) memory in one shader core for compute pipline? How can i access it? 0 votes 1544 views 0 replies Started 7 months ago by Keepin Answer this
Answered Forum FAQs Started 4 months ago by Annie 0 replies 998 views
Not answered Question about OpenCL max constant memory size in Mali G77 Started 11 days ago by qdev 0 replies 90 views
Not answered How to get the pipelines stages of the thunderX2 vulcan Micro-architecture like in the classic RISC 5 stages with the corresponding stages names? Started 1 months ago by Roblex Nana 0 replies 347 views
Not answered Small Super Computer Started 1 months ago by bkelly 0 replies 357 views
Suggested answer how can I disassemble arm v4 ipod nand? Latest 3 months ago by Andy Neil 1 replies 1191 views
Answered Free Arm Performance Libraries - Compatibility with Cortex-A72 Latest 6 months ago by John Duffy 7 replies 3340 views
Suggested answer Why does Arm DDT crash when debugging a C++11 thread_safe std::vector? Latest 7 months ago by Suyash01 7 replies 3272 views
Not answered Does Mali GPU has shared(local) memory in one shader core for compute pipline? How can i access it? Started 7 months ago by Keepin 0 replies 1544 views