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
Change-Id: I810d70e579eb4e2c8e45fffd171962f8a8d2bbb1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit a98cf15ed1b57aee695de01b04a974637b2cd44a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Thiago Macieira 2022-09-29 09:52:37 -07:00 committed by Qt Cherry-pick Bot
parent c38a954d9f
commit 727de65816

View File

@ -211,9 +211,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.");