GCC 12.1 已发布 大幅提升编译速度

五月是 GCC 1.0 发布的 35 周年,同时 GCC 12.1 也已正式发布,GCC 12.1 是一个重要的功能版本,包含新的 C/C++ 功能到 Fortran 和 Ada 等其他语言的持续工作

五月是 GCC 1.0 发布的 35 周年,同时 GCC 12.1 也已正式发布,GCC 12.1 是一个重要的功能版本,包含新的 C/C++ 功能到 Fortran 和 Ada 等其他语言的持续工作,支持跨多个架构的最新 CPU 和 ISA 功能,并推进 GCC 的最新功能如内置静态分析器和 JIT 库。

GCC 12.1 的一些亮点包括:

  • 继续为编译器和 C++ 标准库分别支持 C2X 和 C++23 以及 C 和 C++ 的下一版本。C2X 和 C++23 支持仍被视为实验性的。C++20 libstdc++ 支持也得到了改进,但仍处于试验阶段。
  • GCC 12 支持新 Intel CPU 的 AVX-512 FP16 支持。
  • 改进了对 OpenMP 5.0 的支持,添加了各种功能。一些 OpenMP 5.1 功能也已到位。
  • OpenACC 2.6 支持得到改进,包括 AMD GPU 的工作并行性。
  • 在面向前端的 AMD Radeon GCN 上,解决了每个计算单元只能使用一个波前的限制 – 现在每个 CU 最多支持 40 个工作组,每个工作组支持 16 个波前。
  • 与各种 Ada 扩展一起实现的 Ada 2022 语言功能。
  • GCC 的 RISC-V CPU 支持改进,现在支持各种新的指令集扩展。RISC-V 的向量和标量加密扩展与 zba、zbb、zbc 和 zbs 一起添加。
  • 新的 Arm CPU 目标包括 Cortex-A510、Ampere-1、Cortex-A710 和 Cortex-X2。
  • 现在在 -O2 优化级别启用矢量化,使用非常便宜的成本模型来提高常用优化级别的性能。
  • GCC JIT 库 (libgccjit) 已通过各种新入口点和新功能得到进一步改进。
  • 新的 -ftrivial-auto-var-init 允许隐式初始化堆栈变量,以增强安全性。
  • GCC 12 编译器提供 x86 直线推测 (SLS) 缓解支持。Linux 内核已准备好使用这个新的安全选项。
  • GCC 的 Fortran “gfortran” 前端现在完全支持 TS 29113 以实现与 C 编程语言的互操作性。TS 29113 是提高 Fortran 与 C 的互操作性的技术规范。
  • GCC 的静态分析器通过许多新的警告和功能继续得到改进。

可在此查看更多 GCC 12 的更改内容。

关于作者: qwephp

.

为您推荐