qsimd_p.h: remove LZCNT feature from the ARCH_HASWELL list
And for good measure, I'm also removing BMI2. The one we really care about ensuring gets enabled instead of -mavx2 is FMA anyway. Complements commitbb1029d3938aa5(which in turn complemented commita98cf15ed1), which removed BMI1 because AMD introduced it before AVX2. Looks like they also introduced LZCNT in some earlier processor too (family 10h) or GCC 12 began emitting __LZCNT__ for that family -- IIRC the AMD feature list was bigger than just the lzcnt instruction. Fixes: QTBUG-111698 Pick-to: 6.4 6.4.3 6.5 6.5.0 Change-Id: I7f354474adce419ca6c2fffd1748f5b24f69a692 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
parent
2a19c7ed13
commit
8413824ca0
|
|
@ -226,9 +226,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__ + __BMI2__ + __FMA__ + __LZCNT__)
|
||||
# define ARCH_HASWELL_MACROS (__AVX2__ + __FMA__)
|
||||
# if ARCH_HASWELL_MACROS != 0
|
||||
# if ARCH_HASWELL_MACROS != 4
|
||||
# if ARCH_HASWELL_MACROS != 2
|
||||
# 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.");
|
||||
|
|
|
|||
Loading…
Reference in New Issue