cha*_*nx_ 2 arm fpu neon arm64 gcc5
我正在使用 HPLinpack 基准测试来测量 Cortex-a57 的 GFLOPS 性能,它几乎无法达到 1 FP/周期(考虑到 2.4 GHz 时约 2.4 GFLOPS)。由于旧编译器(gcc 4.9.1)抱怨多个版本的 -mfpu= 选项,我尝试如下配置 gcc 5.0.1
../gcc/configure --with-gmp=/tmp/gcc --with-mpfr=/tmp/gcc --with-mpc=/tmp/gcc --with-libelf=/tmp/gcc --enable-语言=c,c++,fortran,go --target=aarch64-linux-gnu --prefix=/opt/another-gcc5 --with-arch=armv8-a --with-cpu=cortex-a57 --with- fpu=neon-fp-armv8
配置一切正常,但是当调用 make 时,gcc/gcc/config.gcc 中的 --with-fpu 标志崩溃了:4351
echo“该目标不支持--with-$option。” 2>&1
由于 gcc/gcc/config.gcc 3464:3467 中定义的 aarch64 架构的supported_defaults
support_defaults= aarch64 中的情况“${target}”*- - )supported_defaults =“abi cpu arch”
为什么不支持 fpu 选项?感谢任何建议,我以前从未这样做过,我有点迷失:)
小智 6
32 位arm 和64 位aarch64 目标在GCC 中是分开的。aarch64 目标不支持--with-fpu配置选项(或-mfpu命令行选项),因为默认情况下假定存在 FPU。因此,默认情况下您始终会获得浮点和 AdvancedSIMD 支持。
这与 32 位 ARM 目标(arm*-*-*三元组)不同,后者也支持软浮点 ABI,并且可以配置旧版本架构中不同级别的 FPU 支持。
总之:如果您的目标是 aarch64,则不需要指定 --with-fpu 配置选项(而且 aarch64 无论如何也不支持它)