qsimd: remove the F16C macro in the Haswell sub-arch testing

F16C is an Ivy Bridge (third generation Intel Core), not Haswell (fourth
generation). This allows compiling with -march=native on Ivy Bridge and
equivalent systems.

Fixes: QTBUG-107072
Pick-to: 6.4
Change-Id: I810d70e579eb4e2c8e45fffd171962f8a8d2bbb1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
This commit is contained in:
Thiago Macieira 2022-09-29 09:52:37 -07:00
parent c6b1c33814
commit a98cf15ed1

View File

@ -225,9 +225,9 @@ asm(
//
// macOS's fat binaries support the "x86_64h" sub-architecture and the GNU libc
// ELF loader also supports a "haswell/" subdir (e.g., /usr/lib/haswell).
# define ARCH_HASWELL_MACROS (__AVX2__ + __BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__)
# define ARCH_HASWELL_MACROS (__AVX2__ + __BMI__ + __BMI2__ + __FMA__ + __LZCNT__)
# if ARCH_HASWELL_MACROS != 0
# if ARCH_HASWELL_MACROS != 6
# if ARCH_HASWELL_MACROS != 5
# error "Please enable all x86-64-v3 extensions; you probably want to use -march=haswell or -march=x86-64-v3 instead of -mavx2"
# endif
static_assert(ARCH_HASWELL_MACROS, "Undeclared identifiers indicate which features are missing.");