You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Furthermore, this encourages building sleef without passing -mcpu=[X] on compile-line. Without -mcpu, the compiler will always choose the default generic instruction scheduler, which will lead to very poor performance on some AArch64 CPUs. For example on T99.
-mcpu=[X] is sufficient and should be required in CFLAGS. Either the particular AArch64 micro-arch can do V8 SIMD, or it can't. If it can do V8 SIMD, it will be available by default, without the need to pass -march=armv8-a+simd on compile-line.
The text was updated successfully, but these errors were encountered:
1. `-march=armv8-a+simd` is removed as it is not necessary (#232)
2. Delete output that is never generated (#231)
It also includes changes of CI setting for removing GCC/OSX testing on travis. This is because updating gcc with brew takes too much time now. Instead of this, build with gcc is now tested on Jenkins.
This is based on sleef 3.3.1:
The cmake file Configure.cmake contains the following:
This -march option is incorrect and unnecessary. It causes conflicts with -mcpu.
For example, GCC correctly warns if -mcpu=thunderx2t99 -march=armv8-a+simd was passed on compile-line:
Furthermore, this encourages building sleef without passing -mcpu=[X] on compile-line. Without -mcpu, the compiler will always choose the default generic instruction scheduler, which will lead to very poor performance on some AArch64 CPUs. For example on T99.
-mcpu=[X] is sufficient and should be required in CFLAGS. Either the particular AArch64 micro-arch can do V8 SIMD, or it can't. If it can do V8 SIMD, it will be available by default, without the need to pass -march=armv8-a+simd on compile-line.
The text was updated successfully, but these errors were encountered: