Arm Instruction Emulator Tutorials

Browse our tutorials to learn about how to use Arm Instruction Emulator.

  • Human head showing understanding.
  • Get started with Arm Instruction Emulator

    A series of simple examples to demonstrate how to compile SVE code, run the resulting executable and analyze runtime behavior with Arm Instruction Emulator.

    Get started
  • A line drawing representing full value procurement.
  • Analyze SVE applications

    Use a basic instrumentation client to perform runtime analysis on your high-performance application. This enables you to gain insights into your application's execution behavior and identify heavily-used loops and instruction sequences.

    Learn more

Instrumentation guides

Instrumentation client structure

The basic structure of an instrumentation client, including the main events that occur during execution and what happens in each event. 

Learn more

Build custom analysis instrumentation

How to modify the instrumentation of an existing client, then build and execute the modified client with Arm Instruction Emulator.

Learn more

View the DynamoRIO command

Use the -s or --show-drrun-cmd option when running ArmIE on a binary, to output the full DynamoRIO drrun command that ArmIE uses.

Learn more

Build an emulation-aware client

Learn how to modify the existing native-only clients to also handle emulated instructions, and to write emulation aware clients of your own.

Learn more

Scalable Vector Extension (SVE)

Learn all about the Arm Scalable Vector Extension (SVE) and Scalable Vector Extension 2 (SVE2)

Scalable Vector Extension (SVE) is a vector extension for AArch64 execution mode for the A64 instruction set of the Armv8-A architecture.

SVE2 (Scalable Vector Extension version two) is a superset of SVE and Neon, and allows for more function domains in data-level parallelism. SVE2 inherits the concept, vector registers, and operation principles of SVE.

Learn about SVE

Related information