You copied the Doc URL to your clipboard.


Affects the way machine code is disassembled by options such as -c or --disassemble, so that it is disassembled in the same way that the specified processor or architecture interprets it.



Where name is the name of a processor or architecture:

Processor and architecture names are not case-sensitive.

Wildcard characters are not accepted.

The following table shows examples of supported processor names for each architecture. For a complete list of the supported architecture and processor names, specify the --cpu=list option.

Table 3-2 Supported ARM architectures

Processor and architecture name Description Example processor names
7 ARMv7 with Thumb (Thumb-2 technology) only, and without hardware divide -
7-A ARMv7 application profile supporting virtual MMU-based memory systems, with ARM, Thumb (Thumb-2 technology) and ThumbEE, DSP support, and 32-bit SIMD support Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A17 Enables the use of the SMC instruction (formerly SMI) when assembling for the v7-A architecture Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A17
8-A.32 ARMv8, AArch32 state -
8-A.32.crypto ARMv8, AArch32 state with cryptographic instructions -
8-A.32.no_neon ARMv8, AArch32 state without Advanced SIMD instructions -
8-A.64 ARMv8, AArch64 state -
8-A.64.crypto ARMv8, AArch64 state with cryptographic instructions -
8-A.64.no_neon ARMv8, AArch64 state without Advanced SIMD instructions -


  • is not an actual ARM® architecture, but rather refers to 7-A plus Security Extensions.

  • The full list of supported architectures and processors depends on your license.


The following general points apply to processor and architecture options:

  • Selecting the processor selects the appropriate architecture, Floating-Point Unit (FPU), and memory organization.

  • If you specify an architecture name for the --cpu option, machine code is disassembled by options such as -c or --disassemble for that architecture. If you specify --disassemble, then the disassembly can be assembled for any processor supporting that architecture.

    For example, --cpu=7-A --disassemble produces disassembly that can be assembled for the Cortex®â€‘A7 processor.

  • Some specifications of --cpu imply an --fpu selection.


    Any explicit FPU, set with --fpu on the command line, overrides an implicit FPU.
  • If no --fpu option is specified and no --cpu option is specified, --fpu=softvfp is used.


If you do not specify a --cpu option, then fromelf disassembles machine instructions in an architecture-independent way. This means that fromelf disassembles anything that it recognizes as an instruction by some architecture.


To specify the Cortex‑M4 processor, use: