编译器 2023.5.4 终于要与大家见面了!!!该版本编译器适用于多种架构,包括 ARM、ColdFire、MIPS、PPC、RH850、RISC-V、Tricore 和 Intel x86/x64!
此版本与 Multi 8.1.4 和 Probe 6.6.4 版本一起发布,与以前版本的 IDE 不兼容。
支持如下 CPU:
ARM:
· 新 CPU:Cortex-M85、Cortex-X1C、Cortex-X3、NeoverSE-V2。
ARM64:
· 新 CPU:Cortex-A34,Cortex-A65,Cortex—A65AE,Cortex—A715,CORTEX-X1C,CORTEX-X3,NEOVERSE-V2。
RISC-V:
· 新 CPU:Sifive E51、Sifive E76、Sifive U54。
· Orca N25F 和 A25 核。
· RISC-V 工具链现在支持 ZFH 1.0 版中定义的半精度浮动指令。RISC-V 工具链现在还支持ZFINX 1.0版中定义的整数寄存器中的半精度浮动指令。
嵌入式x86:
· x86 指令
1. 接受 AVX/AVX2 汇编指令的子集。
· x86 内部函数
1. __DIVU64x32 和 __DIVS64x32 接受 64 位被除数(两个单独的参数)、32 位除数,并从除法返回 32 位商。
2. __DIVU128x64 和__DIVS128x64 接受 128 位被除数(作为两个单独的参数)、64 位除数,并从除法返回64位商。
Tricore:
· Tricore 编译器拥有极佳的可预见信息,从而改进了指令调度。
· IND_MCLR32.TRI 的增加提供了一个新的 __GH_MEMCLR32(),优化其内存清除功能。
Linux本机:
· 支持 glibc 2.35。
亮点
· gbuild--quit_after_warnings 替换为 --quit_after_compiler_warnings-,并使用类似的选项进行增强,在构建的不同阶段发出警告后停止构建。
· 链接器常量表达式:-C 和 -d 链接器选项现在将接受由立即数/链接器常量组成的算术表达式。
· “内存”中的镜像指令。
· 在所有 C/C++ 中提供灵活的数组成员。
· 附录 K 边界检查功能现在可用于 C/C++。
· 与 C2023.5 一起使用时,Multi 8.X 可以支持诸多新的调试功能。
· 大量优化改进,特别是针对使用 Tricore、RH850 和 RISC-V 的用户。
主机架构
· Windows:Windows 8、10、11(仅限64位主机发行版)
· Linux:CentOS 6.X、7.X;Ubuntu 14.04、16.04、18.04、20.04 和 22.04 LTS 版本
安全认证
编译器 2023.5.4 版计划通过功能安全标准 ISO26262、IEC61508 和 EN50128 的认证。
原文:
I'm pleased to announce the availability of the Compiler 2023.5.4 Final Release for ARM, Coldfire, MIPS, PPC, RH850, RISC-V, Tricore and Intel x86/x64 architectures!
This release ships with MULTI 8.1.4 and Probe 6.6.4 releases, and is not compatible with previous versions of the IDE.
New CPU Support
ARM:
· New CPUs: Cortex-M85, Cortex-X1C, Cortex-X3, Neoverse-V2.
ARM64:
· New CPUs: Cortex-A34, Cortex-A65, Cortex-A65AE, Cortex-A715, Cortex-X1C, Cortex-X3, Neoverse-V2.
RISC-V:
· New CPUs: SiFive E51, SiFive E76, SiFive U54.
· The Orca N25F and A25 cores now have NPW support.
· The RISC-V toolchain now supports the half-precision floating-point instructions as defined in version 1.0 of Zfh specification. The RISC-V toolchain also now supports the half-precision floating-point instructions in integer registers as defined in version 1.0 of the Zfinx specification.
Embedded x86:
· x86 Instructions
1. A subset of AVX/AVX2 assembly instructions are accepted.
· x86 Intrinsics
1. __DIVU64x32 and __DIVS64x32 take 64-bit dividend (astwo separate arguments), 32-bit divisor, and return 32-bit quotient from the division.
2. __DIVU128x64 and __DIVS128x64 take 128-bit dividend (as two separate arguments), 64-bit divisor, and return 64-bit quotient from the division.
Tricore:
· The Tricore compiler has better pipelining information available, resulting in improved instruction scheduling.
· ind_mclr32.tri added, which supplies a new __gh_memclr32() optimized memory clear.
Linux native:
· Added support for glibc 2.35.
Highlights
· gbuild --quit_after_warnings is replaced with --quit_after_compiler_warnings, and enhanced with similar options to stop building after warnings at different stages of the build.
· Linker constant expressions: the -C and -D linker options will now accept arithmetic expressions consisting of immediates and/or linker constants.
· MIRROR directive in MEMORY section.
· Flexible array members available in all dialects of C/C++.
· Annex K bounds-checking functions now available in all dialects of C/C++.
· When used with c2023.5, MULTI 8.x now supports a number of new debug features.
· Lots of optimization improvements, especially for those using TriCore, RH850 and RISC-V.
Host Architectures
· Windows: Windows 8, 10, 11 (64-bit host distributions only).
· Linux:CentOS 6.x, 7.x; Ubuntu 14.04, 16.04, 18.04, 20.04, 22.04 LTS releases.
Safety Certification
The Compiler 2023.5.4 Final Release is planned for certification to Functional Safety standards ISO26262, IEC61508, and EN50128.