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

Answered Forum FAQs
  • ARM Community
0 votes 308 views 0 replies Started 1 months ago by Annie Cracknell Answer this
Not answered Where do I find presentations and photos from SC'18? 2 votes 6244 views 0 replies Started 2 years ago by John Linford Answer this
Suggested answer how can I disassemble arm v4 ipod nand? 1 votes 321 views 1 replies Latest 1 months ago by Andy Neil Answer this
Answered Free Arm Performance Libraries - Compatibility with Cortex-A72
  • Cortex-A72
  • arm performance libraries
1 votes 2370 views 7 replies Latest 4 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 2165 views 7 replies Latest 4 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 975 views 0 replies Started 4 months ago by Keepin Answer this
Not answered Raspberry Pi 4 Cluster Request for Comment/Feedback
  • Cortex-A72
0 votes 1065 views 0 replies Started 5 months ago by John Duffy Answer this
Answered Cortex-A72 Maximum Theoretical Linpack Performance R_peak
  • High Performance Computing (HPC)
  • Cortex-A72
0 votes 1814 views 4 replies Latest 6 months ago by John Duffy Answer this
Answered Forum FAQs Started 1 months ago by Annie Cracknell 0 replies 308 views
Not answered Where do I find presentations and photos from SC'18? Started 2 years ago by John Linford 0 replies 6244 views
Suggested answer how can I disassemble arm v4 ipod nand? Latest 1 months ago by Andy Neil 1 replies 321 views
Answered Free Arm Performance Libraries - Compatibility with Cortex-A72 Latest 4 months ago by John Duffy 7 replies 2370 views
Suggested answer Why does Arm DDT crash when debugging a C++11 thread_safe std::vector? Latest 4 months ago by Suyash01 7 replies 2165 views
Not answered Does Mali GPU has shared(local) memory in one shader core for compute pipline? How can i access it? Started 4 months ago by Keepin 0 replies 975 views
Not answered Raspberry Pi 4 Cluster Request for Comment/Feedback Started 5 months ago by John Duffy 0 replies 1065 views
Answered Cortex-A72 Maximum Theoretical Linpack Performance R_peak Latest 6 months ago by John Duffy 4 replies 1814 views