编译器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:
- 接受AVX/AVX2 汇编指令的子集。
- __DIVU64x32 和 __DIVS64x32 接受 64 位被除数(两个单独的参数)、32 位除数,并从除法返回 32 位商。
- __DIVU128x64 和__DIVS128x64 接受 128 位被除数(作为两个单独的参数)、64 位除数,并从除法返回64位商。
Tricore:
- Tricore 编译器拥有极佳的可预见信息,从而改进了指令调度。
- IND_MCLR32.TRI 的增加提供了一个新的 __GH_MEMCLR32(),优化其内存清除功能。
Linux本机:
亮点
- 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:
- A subset of AVX/AVX2 assembly instructions are accepted.
- __DIVU64x32 and __DIVS64x32 take 64-bit dividend (astwo separate arguments), 32-bit divisor, and return 32-bit quotient from the division.
- __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.