在gcc版本5.0.1上启用AARC64(armv8-a)的fpu支持

在gcc版本5.0.1上启用AARC64(armv8-a)的fpu支持,arm,neon,arm64,fpu,gcc5,Arm,Neon,Arm64,Fpu,Gcc5,我正在用HPLinpack基准测试Cortex-a57的GFLOPS性能,考虑到2.4 GHz下约2.4 GFLOPS,它几乎没有达到1 FP/周期。由于旧编译器GCC4.9.1使用了多个版本的-mfpu=选项,因此我尝试如下配置GCC5.0.1 …/gcc/gp-具有MPR= /tMP/GCC的MPR= /TMP/GCC -具有LiPelf//TMP/GCC的语言-启用语言= C、C++、FORTRAN、GO -目标= AGAR64 Linux GNU-前缀=/opt/ANGOT- GCC5-

我正在用HPLinpack基准测试Cortex-a57的GFLOPS性能,考虑到2.4 GHz下约2.4 GFLOPS,它几乎没有达到1 FP/周期。由于旧编译器GCC4.9.1使用了多个版本的-mfpu=选项,因此我尝试如下配置GCC5.0.1

…/gcc/gp-具有MPR= /tMP/GCC的MPR= /TMP/GCC -具有LiPelf//TMP/GCC的语言-启用语言= C、C++、FORTRAN、GO -目标= AGAR64 Linux GNU-前缀=/opt/ANGOT- GCC5-具有ARC= ARMV8A——CPU = CortX-A57——用FPU=NEN FP ARMV8/P> 配置进行得很顺利,但调用make时,gcc/gcc/config.gcc:4351中的-with-fpu标志崩溃

echo此目标不支持-with-$选项。2> &1

由于gcc/gcc/config.gcc 3464:3467中定义的aarch64体系结构支持的默认值

支持的默认值= 中的案例${target} aarch64*-- 支持的默认值=abi cpu arch


为什么不支持fpu选项?非常感谢您的建议,我以前从未这样做过,我有点不知所措:

32位arm和64位aarch64目标在GCC中是分开的。 aarch64目标不支持-with fpu配置选项或-mfpu命令行选项,因为默认情况下假定存在fpu。因此,默认情况下,您总是获得浮点和AdvancedSIMD支持

这与32位arm目标不同,arm*-*-*三元组也支持软浮点ABI,并且可以配置不同级别的FPU支持,这些支持来自较旧版本的体系结构


总而言之:如果你的目标是aarch64,你不需要指定-with-fpu配置选项,而且aarch64上无论如何都不支持它

我有点惊讶,在。。。浮点支持是一种arch或cpu功能修改器——我想这是因为浮点是AArch64的标准化部分,所以选择变成简单的开或关,而不需要区分多个不同FPU实现的混乱。