Message ID | 20220815154854.17628-5-giulio.benetti@benettiengineering.com |
---|---|
State | Accepted |
Headers | show |
Series | Revert wrong NEON/VFPV4 FPU strategy | expand |
>>>>> "Giulio" == Giulio Benetti <giulio.benetti@benettiengineering.com> writes: > The gcc man page states that specifying Neon as part of the fpu setting > has no effect, unless the -funsafe-math-optimizations is also specified, > because Neon is not compliant with IEEE 754: > ``` > If the selected floating-point hardware includes the NEON extension > (e.g. -mfpu=neon), note that floating-point operations are not > generated by GCC's auto-vectorization pass unless > -funsafe-math-optimizations is also specified. This is because NEON > hardware does not fully implement the IEEE 754 standard for > floating-point arithmetic (in particular denormal values are treated > as zero), so the use of NEON instructions may lead to a loss of > precision. > ``` > -funsafe-math-optimizations must be explictly specified per package to > really use NEON as FPU, but it's something that is left to the user as > well as setting BR2_ARM_FPU_NEON_VFPV4. This way the default > BR2_ARM_FPU_VFPV4D16 is used as previously. So let's revert the > offending patch. > This reverts commit aaced92e8c69e3eb71c2cba4c5ae6a1770ae8972. > Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Committed to 2022.05.x and 2022.02.x, thanks.
diff --git a/configs/bananapi_m1_defconfig b/configs/bananapi_m1_defconfig index 2d948ec223..23da363345 100644 --- a/configs/bananapi_m1_defconfig +++ b/configs/bananapi_m1_defconfig @@ -1,6 +1,5 @@ BR2_arm=y BR2_cortex_a7=y -BR2_ARM_FPU_NEON_VFPV4=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M1" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
The gcc man page states that specifying Neon as part of the fpu setting has no effect, unless the -funsafe-math-optimizations is also specified, because Neon is not compliant with IEEE 754: ``` If the selected floating-point hardware includes the NEON extension (e.g. -mfpu=neon), note that floating-point operations are not generated by GCC's auto-vectorization pass unless -funsafe-math-optimizations is also specified. This is because NEON hardware does not fully implement the IEEE 754 standard for floating-point arithmetic (in particular denormal values are treated as zero), so the use of NEON instructions may lead to a loss of precision. ``` -funsafe-math-optimizations must be explictly specified per package to really use NEON as FPU, but it's something that is left to the user as well as setting BR2_ARM_FPU_NEON_VFPV4. This way the default BR2_ARM_FPU_VFPV4D16 is used as previously. So let's revert the offending patch. This reverts commit aaced92e8c69e3eb71c2cba4c5ae6a1770ae8972. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> --- configs/bananapi_m1_defconfig | 1 - 1 file changed, 1 deletion(-)