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.
  • Square with arrow pointing through (Download icon).
  • Download

    Download ArmIE binaries for leading Linux distributions running on Arm.

    Download
  • 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
  • Human head showing understanding.
  • Resources

    Browse our get started information,  tutorials, and reference guides to learn about how to use Arm Instruction Emulator.

    Learn more
  • Manual containing technical information.
  • SVE and SVE2

    Learn about the Arm Scalable Vector Extension (SVE) and Scalable Vector Extension version two (SVE2).

    Learn more
  • High performance computing.
  • Blog: DynamoRIO and ArmIE

    Emulating SVE on existing Armv8-A hardware using DynamoRIO and ArmIE

    Learn more
  • A line drawing of documentation.
  • Get help

    Get help from the Community, Arm Support, or Product Inquiries teams.

    Learn more

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: Where can I find out more information about SVE and SVE2?
For more information about the Arm Scalable Vector Extension (SVE) and Scalable Vector Extension version two (SVE2), see our SVE information.

Help and support

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

Get support