You copied the Doc URL to your clipboard.

About ARM® Compiler tools

ARM® Compiler tools enable you to build applications and libraries suitable for bare-metal embedded systems.

DS-5 provides two versions of ARM Compiler for compiling embedded and bare-metal applications:

  • ARM Compiler 5 - Supports all ARM architectures from ARMv4 to ARMv7 inclusive.


    All architectures before ARMv4 are obsolete and are no longer supported by ARM Compiler 5.
  • ARM Compiler 6 - Supports ARMv6-M, ARMv7, and ARMv8 architectures. ARM Compiler 6 also supports optimization for the SVE architectural extensions. This toolchain is recommended for software development targeting ARMv8-A with the SVE architectural extensions for High Performance Computing (HPC).

The ARM Compiler tools are located in the ARM Compiler 5 and ARM Compiler 6 directories within the DS-5 installation. You can use them to build your applications from either the command-line or within Eclipse.

Table 1-1 ARM Compiler Tools




Librarian. This enables sets of ELF format object files to be collected together and maintained in archives or libraries. You can pass such a library or archive to the linker in place of several ELF files. You can also use the archive for distribution to a third party for application development.


Assembler. This assembles ARM and Thumb assembly language sources.


ARM Compiler 5. This compiles your C and C++code. It supports inline and embedded assemblers.

armclang ARM Compiler 6 and Assembler. This compiles C and C++ code, and assembles A32, A64, and T32 GNU syntax assembly code. The armclang compiler also contains an advanced auto-vectorizer, capable of taking advantage of SVE features. armclang is also able to compile assembly files containing SVE instructions. It supports inline GNU syntax assembly code.


Linker. This combines the contents of one or more object files with selected parts of one or more object libraries to produce an executable program.


Image conversion utility. This can also generate textual information about the input image, such as disassembly and its code and data size.

llvm‑objdump Use the llvm‑objdump tool with the SVE target feature enabled to display the details and contents of an ELF-format binary file. This includes disassembly of the text section of an object containing SVE instructions.

ARM® Compiler Scalable Vector Extension User Guide

The ARM® Compiler Scalable Vector Extension User Guide contains additional information about:

  • Assembling SVE code.
  • Disassembling SVE object files.
  • Compiling C and C++ code for SVE-enabled targets.
  • Running a binary in an ARMv8-A Fixed Virtual Prototype (FVP).
  • Best practices to enable auto-vectorization.
  • Auto-vectorization examples.
  • Embedding SVE assembly code directly into C and C++ code.
  • Using pragmas to encourage or suppress auto-vectorization.
  • Various compiler options.
  • General troubleshooting advice.

To view the ARM® Compiler Scalable Vector Extension User Guide, from the main DS-5 menu, click Help > Help Contents. In the help window, browse and select ARM DS-5 Documentation. The document is available under ARM Compiler 6 Help Contents > User information.


ARM Compiler is license managed. Specific features depend on your installed license.

For example, a license might limit the use of ARM Compiler to specific processor types, or place a maximum limit on the size of images that can be produced, or require that you work with proprietary format (ORC) objects instead of ELF format objects.

You can enable additional features by purchasing a license for the full DS-5 suite. Contact your tools supplier for details.

Was this page helpful? Yes No