Compile for 64-bit Armv8-A-based processors

To support you compile your applications for any Arm-based high-performance platform, Arm works closely with the server and High Performance Computing (HPC) ecosystem to support the development of open-source compilers.

However, if you want the earliest, most complete, and most accurate support for the latest architectural features and extensions of the Armv8-A architecture, and a commercially-supported compiler, use Arm Compiler for Linux.

Arm Compiler for Linux (available as part of Arm Allinea Studio):

  • Is a mature toolchain that is tailored to the development of server and High Performance Computing (HPC) applications.
  • Supports all the latest Neoverse N1-based processors.
  • Is supported on all leading Linux distributions: RHEL, SLES, and Ubuntu.

Evaluate  Buy  Developer resources

Arm Compiler for Linux

Arm Compiler for Linux is the commercially-supported product from Arm to use to build robust and performant applications, with microarchitecture-tuned math libraries.

Learn more

Server and HPC Ecosystem

For server and HPC information including: news, hardware availability, upcoming events, past presentations, and open-source tool support, see the Server and HPC Ecosystem.

Ecosystem

Third-Party Compiler Support

For a list of open-source and third-party compilers that also support compiling for Armv8-A-based targets, see the supported compilers area of the Ecosystem.

Other compilers

Free, optimized libraries for Arm Neoverse N1-based targets

Two versions of Arm Performance Libraries (ArmPL) are available:

  1. A commercial version that provides optimized libraries for all Armv8 AArch64-based targets, and is compatible with Arm Compiler for Linux and GCC compilers. This version is available as part of Arm Allinea Studio.
  2. A free, GCC built version that provides optimized libraries for Arm® Neoverse™ N1-based targets.

Both the commercial and free Arm Performance Libraries versions include routines that are available through Fortran and C interfaces, including: BLAS, LAPACK, FFT, Sparse linear algebra, and libamath functions.

Click the button below to learn more about, and to download and install the free, GCC-built version of Arm Performance Libraries:

Get ArmPL (free version)

Emulate Scalabe Vector Extension (SVE) code

Arm Instruction Emulator

Arm Instruction Emulator (ArmIE) is a free-to-use Scalable Vector Extension (SVE) instruction emulation tool that runs on AArch64 platforms.

Arm Instruction Emulator is based on the DynamoRIO dynamic binary instrumentation framework.

You can compile your SVE code with Arm Compiler for Linux then run the SVE binary using Arm Instruction Emulator.

Arm Instruction Emulator is available on several Linux distributions including RHEL, SLES, and Ubuntu.