I have been researching on how to use OpenCV optimally on a ARMv8 system.
Googling through several tutorials I see that when building OpenCV from source, many of the times the options VFPV3 or NEON are not activated.
I then got told that "Typically GCC will handle extensions that match the processor. ARMv7 had different processor versions, some had VFPV3 and NEON support, thus the flags. All ARMv8, like the Xavier AGX, have those built in so GCC is smart enough to use them/compile them when encountered."
Does this mean that it is not necessary to specify VFPV3 or NEON when building OpenCV for ARMv8 systems? Are these active by default?
According to ARM documentation -
AArch64 Floating-point and NEON
:That is, if the Armv8-a implementation you are using is 'standard', and it likely is, it should support Full floating-point and SIMD, and the compiler should use them in all cases if you specify
-march=armv8-a+simd
.It seems the result would be the same with gcc 10.2.0:
op.c: