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.


Get support

The top half of a human.

Request technical support for Arm Instruction Emulator:

Open a Case