Linux User-space C/C++ Compiler

Tailored for HPC and scientific codes, with support for C/C++ and OpenMP standards and tuned for leading server-class Arm-based platforms. Built on the open source Clang front-end, and the LLVM‑based optimization and code generation back-end. Available as part of the Arm Compiler for Linux package.

Get started

  • Papers filed, in a formal order.
  • Reference guide

    Reference manual describing the implementation of C/C++ supported by Arm, including OpenMP standard support.

    C/C++ reference
  • Human head showing understanding.
  • Get started

    A complete workflow from installation to compiling your first program with Arm C/C++ Compiler.

    Get started
  • Square with arrow pointing through (Download icon).
  • Download

    Download the Arm Compiler and Libraries package

    Downloads
  • A program that is running on a desktop.
  • Porting and tuning 

    Instructions to build and run popular HPC and scientific workloads with Arm Compilers.

    Porting and tuning

FAQ

Q: How do I get access to the Arm C/C++ Compiler?
Arm C/C++ Compiler is available in Arm Allinea Studio tools suite. To get started using the Arm C/C++ Compiler, see our Installation and Getting Started guides.

Q: Which Linux distributions are supported?
Arm C/C++ Compiler is available on leading Linux distributions, including RHEL, SUSE, and Ubuntu. See supported platforms for more information.

Q: Which Armv8-A SoCs are supported?
Arm C/C++ Compiler works on any 64-bit Armv8-A based platform running Linux, with specific performance tuning for some platforms. See supported platforms for more information.

Q: Does it support SVE? 
Arm C/C++ Compiler supports the generation of SVE code.

Q: Where can I find the release changelog? 
See our Release History page to discover what's new with each new version of the Arm C/C++ Compiler.

Help and support

Get in touch if you have questions, doubts or want to raise an issue. The vast majority of requests are answered within a single working day.

Get support