Arm Compiler 6

Taking Arm embedded systems to the next level

Get the best out of your Arm Cortex  processor with the next-generation C/C++ compilation toolchain from Arm


The reference C/C++ toolchain for Arm processors

Trusted by hundreds of thousands of developers since 1990, Arm’s C/C++ Compiler toolchain has been used to build code shipped in billions of devices worldwide. Arm Compiler 6 is the latest and most efficient version of Arm’s industry-reference C/C++ compilation tools. Supporting optimized code generation for all Arm Cortex processors and architectures from Armv6-M to Armv8-A 64-bit, it enables the development of highly efficient products that fully utilize the best features of Arm-based processors.

Arm Compiler 6 is developed by Arm, based on the modern LLVM framework, in close collaboration with processor and architecture projects to best utilize every new hardware feature. So whether you are a semiconductor company who value the earliest support for upcoming processors, or you just like to know that you will be covered on your Arm projects no matter what, the Arm Compiler toolchain is your safest option.

Real world performance 

One size doesn't fit all. That’s why Arm optimizes its compiler for a wide range of embedded workloads, not just for a single benchmark.

More code in less space

The tiny Arm C Microlib, armlink linker and best-in-class code density work hand-in-hand to let you fit (a lot) more code into small footprints.

Safety credentials

Safety certification, qualification kit and long-term maintenance combined with Arm’s quality assurance. It's the fast lane to safety certification. 

Industry-wide ecosystem

It's not only about the code you write. From 3rd party operating systems to analysis tools, benefit from Arm's ecosystem and GCC compatibility.

Statistic on Arm Compilers 6 Performance.

Faster code where it matters

By combining microarchitecture-specific instruction scheduling, whole-program optimization strategies and finely tuned libraries, Arm Compiler 6 significantly accelerates execution time across a wide variety of workloads. In fact, in some large industrial and automotive bodies of code, performance gains over its previous generation exceed 30 percent. This is a result of our all-encompassing optimization investment targeting complex, realistic embedded code, as opposed to focusing on a single small CPU benchmark.

Arm Compiler Code Size Diagram.

Code size reduction heritage

Arm Compiler 6 further improves the space-optimizing reputation of Arm C/C++ embedded toolchains, particularly for Cortex-M devices. It combines density-enhancing techniques from previous generations with new link-time optimizations that lead to the removal of unused and redundant code. Moreover, there is the Arm C MicroLib library, which provides up to a 50 percent reduction in code size compared to the full standard C library.

Safety manual and TUV certificate.

Safety package

Comprising compiler branches assessed and qualified by safety experts TÜV SÜD, qualification kit documents, and long term maintenance contract, the safety package for Arm Compiler simplifies the process of achieving functional safety certification. It is available for versions 6 (LLVM-based) and 5 (armcc) of the Arm Compiler toolchain and has been used over the years by leading companies in a variety of industries, including automotive (ISO 26262), industrial (IEC 61508), railway (EN 50128) and medical (IEC 62304).

Learn more about Arm Compiler safety package

Code compatibility

Compared to its previous generations, Arm Compiler 6 uses a more modern and faster compiler front-end that we call armclang, based on the Clang project. Whilst other tools in the toolchain remain the same highly optimized and familiar armlink, armasm, armar and fromelf, the new front-end technology extends source code compatibility with code bases written for GNU Compiler Collection (gcc) to nearly 100%. This makes it easier for developers to switch toolchains, eliminating costly lock-in situations.

As the same time, to permit smooth and gradual migration of code from previous Arm Compiler generations, Arm Compiler 6 licenses are backwards compatible and enable the use of older Arm toolchains at no extra cost. The Arm Compiler 5.06 branch is optionally offered under long term maintenance for companies requiring stability for long tail projects. 

The brand new compiler front-end technology in Arm Compiler 6 with extended GCC compatibility means that not all legacy code can be directly built by the new toolchain. However, the code migration process is facilitated by a comprehensive Migration and Compatibility Guide and Arm’s expert technical support service. Everything to get your code ported onto the most efficient Arm Compiler toolchain swiftly.

1 Refers to Arm Compiler version 6.6. Results will differ for every workload. We highly recommend you try on your own code. 
2 Example uses RTX5 RTOS and NXPOpen library on a Arm Cortex-M4 microcontroller.