Introduction to GCC for openEuler
About This Document
This document provides guidance for users to use the GCC for openEuler to build service scenarios and related precautions.
Overview
GCC for openEuler is developed and optimized based on the open-source GCC-12.3 version (https://gcc.gnu.org, released in May 2023). It implements profound software-hardware synergy and optimization, and explores the ultimate performance of OpenMP, SVE vectorization, and mathematics libraries, which is a high-performance compiler for Kunpeng 920 processors on Linux. By default, GCC for openEuler applies to the Kunpeng 920 processor and Arm architecture.
Functions
In addition to the original general functions and optimizations of GCC, the performance and functions have been enhanced. In terms of performance, vectorization optimization and alias optimization are enhanced. In terms of functionality, SME instructions are now supported, and several issues have been fixed. For some general information, see GCC Internal.
Key Features
- Supports the context-sensitive feedback-guided optimization (CFGO) feature, which significantly improves performance in typical service scenarios such as databases.
- Supports Kunpeng microarchitecture processors and instruction optimization.
- Provides higher performance than open-source GCC through software and hardware collaboration.
- Conducts in-depth optimization in performance for typical HPC applications.
Supported Programming Languages
GCC is a compiler that covers multiple programming languages and target processors. GCC for openEuler focuses on the C, C++, and Fortran programming languages. It uses GCC as the compiler driver of the C language, g++ as that of the C++ language, and gfortran as that of the Fortran language.