Arm Compiler 6.11 – What’s New?

Another milestone was achieved for the Arm Compiler with version 6.11 released at the end of October 2018.

The key highlights of Arm Compiler 6.11 are:

  • Achieves best-in-class CoreMark score of 3.96 CoreMarks/MHz on a Cortex-M33.
  • Support for the very latest Arm Architecture Extensions.
  • Performance improvements to key embedded workloads.
  • Fill support for C++14 source language modes.

Early Arm architecture support

Arm Compiler continues to be at the leading edge for supporting new architectures and new cores and so the Arm Compiler 6.11 release features the addition of Armv8.5-A architecture support in the assembler with support for optional features such as the Memory Tagging Extension, Branch Target Instructions and Random Number Instructions.

There have also been updates to support Armv8.4-A and Armv8.3-A extensions such as support for pointer authentication features and half-precision floating-point fused multiply long instructions.

Arm Compiler 6.11 features support for Cortex-A76AE, which is a new split-lock variant to the parent Cortex-A76, that was announced in May 2018.

New security feature – stack protection

Arm Compiler 6.11 now offers alpha support for stack protection which is a security feature to protect against attacks that try to exploit memory access errors, thereby improving the overall resilience and integrity of the system. This can be enabled by using the compiler options -fstack-protector, -fstack-protector-all. Additionally, you could also use -fstack-protector-strong which works like -fstack-protector but provides extra protection functions with any kind of arrays and references to local frame addresses.

Significantly improved performance and optimizations

Performance is an integral part of a toolchain and at Arm, there is always a continuous effort and investment to improve the overall performance and code density across all workloads.   

Arm Compiler 6.11 delivers significant improvements to specific embedded workloads that focus on signal processing (DSP) such as CMSIS-DSP and CMSIS-NN software libraries.

It also achieves the best-in-class CoreMark score of 3.96 CoreMarks/MHz on a Cortex-M33, demonstrates an improved CoreMark performance across all leading-edge Arm architectures.

The performance of Cortex-M7 has also been significantly boosted achieving an average of 8-10% performance against the previous versions of the Arm Compiler.

With regards to code density, Arm Compiler 6.11 delivers an improvement of ~3% for AArch64 targets.

Availability and licensing

Arm Compiler 6.11 is available as a standalone package. However, it is also available as part of the integrated toolkits below:

A suitable license must be available for all the above products. Contact your sales representative or enquire about a license.

If you are using a floating license, your license server must be running armlmd and lmgrd version 11.14.1.0 or later. Arm recommends that you always use the latest version of the license server software.

Summary

Overall Arm Compiler 6.11 delivers a wide range of product and architecture features including improved performance and defect fixes. For the list of changes and supported features, you can refer to the Arm Compiler 6.11 Release Note. Further resources can be found in the Arm Compiler 6.11 Documentation section.

If you are using Arm Compiler 5.x and are planning to migrate to Arm Compiler 6, the Migration and Compatibility guide provides lots of helpful information and advice.

Learn more about Arm Compiler 6.11

Anonymous