From 8d80efe017880884272332b97316748208ec2325 Mon Sep 17 00:00:00 2001 From: Yegor Yefremov Date: Thu, 17 Sep 2026 09:53:24 +0200 Subject: [PATCH] package/qemu: drop x86_core_avx2 exclusion Commit 1f7efaf89f03 ("package/qemu: do not support x86_steamroller or x86_core_avx2") excluded BR2_x86_core_avx2 from BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS because binaries built for that CPU variant crashed under qemu-user. This was done at the time of Qemu 4.2, whose TCG engine did not implement AVX at all. Since Qemu 7.2, the TCG engine implements AVX, AVX2, F16C, FMA3 and VAES. In Qemu 11.0.0 (the version we currently package) and 11.1.1, target/i386/cpu.c has: #define TCG_EXT_FEATURES (... | CPUID_EXT_AVX | CPUID_EXT_F16C | \ CPUID_EXT_FMA | ...) #define TCG_7_0_EBX_FEATURES (... | CPUID_7_0_EBX_BMI1 | \ CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_AVX2 | ...) which covers everything gcc generates for -march=core-avx2. In addition, the exclusion was inconsistent: gcc's core-avx2 is a deprecated alias for haswell, both variants select exactly the same BR2_X86_CPU_HAS_* symbols in arch/Config.in.x86, and haswell was never excluded. The same goes for broadwell, skylake, zen*, x86-64-v3, ..., which all enable AVX2 and build fine on the autobuilders. So drop the BR2_x86_core_avx2 exclusion. Signed-off-by: Yegor Yefremov Assisted-by: Claude:claude-opus-5 Signed-off-by: Thomas Petazzoni --- package/qemu/Config.in.host | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host index e5379e7224..48979fd7ce 100644 --- a/package/qemu/Config.in.host +++ b/package/qemu/Config.in.host @@ -22,7 +22,7 @@ config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS default y if BR2_sparc64 default y if BR2_xtensa default y if BR2_x86_64 - depends on !BR2_x86_steamroller && !BR2_x86_core_avx2 + depends on !BR2_x86_steamroller # The Qemu TCG engine does not implement the AVX512 # instruction set, so binaries built for such CPUs cannot be # emulated.