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: The emulator supports a subset of Armv8.2 instructions, namely fadd, fsub, fmul, fdiv, fmla, fmadd, fmls, fmsub, fneg, frsqrte, frsqrts, fmax, fmaxp, fcmp, fmov, scvtf, frecpe, fabs, fcmgtz, fcvtzs, and frintn, 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

Not answered Where do I find presentations and photos from SC'18? 2 votes 5169 views 0 replies Started 1 years ago by John Linford Answer this
Answered Free Arm Performance Libraries - Compatibility with Cortex-A72
  • Cortex-A72
  • arm performance libraries
1 votes 1099 views 7 replies Latest 1 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 841 views 7 replies Latest 1 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 293 views 0 replies Started 2 months ago by Keepin Answer this
Not answered Raspberry Pi 4 Cluster Request for Comment/Feedback
  • Cortex-A72
0 votes 481 views 0 replies Started 3 months ago by John Duffy Answer this
Answered Cortex-A72 Maximum Theoretical Linpack Performance R_peak
  • High Performance Computing (HPC)
  • Cortex-A72
0 votes 1048 views 4 replies Latest 3 months ago by John Duffy Answer this
Not answered Strange profiling value are returned when running clGetEventProfilingInfo on G77
  • OpenCL
0 votes 426 views 0 replies Started 3 months ago by gang.zheng Answer this
Answered Can Arm-Neon use with OMP? 0 votes 1060 views 2 replies Latest 4 months ago by huanshen Answer this
Not answered Where do I find presentations and photos from SC'18? Started 1 years ago by John Linford 0 replies 5169 views
Answered Free Arm Performance Libraries - Compatibility with Cortex-A72 Latest 1 months ago by John Duffy 7 replies 1099 views
Suggested answer Why does Arm DDT crash when debugging a C++11 thread_safe std::vector? Latest 1 months ago by Suyash01 7 replies 841 views
Not answered Does Mali GPU has shared(local) memory in one shader core for compute pipline? How can i access it? Started 2 months ago by Keepin 0 replies 293 views
Not answered Raspberry Pi 4 Cluster Request for Comment/Feedback Started 3 months ago by John Duffy 0 replies 481 views
Answered Cortex-A72 Maximum Theoretical Linpack Performance R_peak Latest 3 months ago by John Duffy 4 replies 1048 views
Not answered Strange profiling value are returned when running clGetEventProfilingInfo on G77 Started 3 months ago by gang.zheng 0 replies 426 views
Answered Can Arm-Neon use with OMP? Latest 4 months ago by huanshen 2 replies 1060 views

Blogs