Run and analyze SVE code on non-SVE platforms

Arm Instruction Emulator (ArmIE) runs on AArch64 platforms and emulates SVE instructions. ArmIE enables you to compile SVE code with Arm Compiler and run the SVE binary without SVE-enabled hardware. Based on the DynamoRIO dynamic binary instrumentation framework, ArmIE enables the customized instrumentation of SVE binaries, which enables you to analyze specific aspects of runtime behavior.

Get started

Armie Block Diagram.
  • A line drawing of a book.
  • Get Started

    A complete workflow from installation to running your first SVE program with Arm Instruction Emulator.

    Get Started
  • Square with arrow pointing through (Download icon).
  • Download

    Download ArmIE binaries for leading Linux distributions running on Arm

    Download
  • Manual containing technical information.
  • Command Reference

    See which options you can use when invoking the armie command.

    Learn more
  • A line drawing of documentation.
  • Emulation Functions Reference

    Details about the emulation functions applicable to Arm Instruction Emulator

    Learn more

Help and support

Get in touch if you have questions, feedback, or want to raise an issue.

Get support

FAQ

Information regarding Arm Instruction Emulator

Q: What does Arm Instruction Emulator support?
Arm Instruction Emulator supports emulation and runtime analysis of all AArch64 and SVE instructions when running on Armv8-A compatible hardware. Note that the emulator does not support emulation and analysis of Armv8.x instructions, namely Armv8.1 and Armv8.2. 

Q: Which Linux distributions are supported?
Arm Instruction Emulator is available on several Linux distributions including Ubuntu, RHEL and SUSE.

Q: On which Armv8-A platforms can I run Arm Instruction Emulator?
Arm Instruction Emulator has been tested on the following 64-bit Armv8-A based platforms running Linux : Arm Cortex-A57-based SoftIron OverDrive and Cavium ThunderX systems. Arm Instruction emulator should run on other 64-bit Armv8-A platforms, but they are untested. Contact Arm support if you experience any issues.