aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-05-31 10:37:06 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2024-06-05 11:01:05 +0200
commit294ac64e459aca023f43441651d860980c9784f1 (patch)
tree29ffccc60f2d63c287e11eb6841b2c4be9b7704b
parent72baef13b9dce71f20ae840d9951e559e14abf6d (diff)
meson: assume x86-64-v2 baseline ISA
x86-64-v2 processors were released in 2008, assume that we have one. Unfortunately there is no GCC flag to enable all the features without disabling what came after; so enable them one by one. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--meson.build10
1 files changed, 7 insertions, 3 deletions
diff --git a/meson.build b/meson.build
index 6386607144..d80203f1cd 100644
--- a/meson.build
+++ b/meson.build
@@ -336,9 +336,13 @@ if host_arch == 'i386' and not cc.links('''
qemu_common_flags = ['-march=i486'] + qemu_common_flags
endif
-# ??? Only extremely old AMD cpus do not have cmpxchg16b.
-# If we truly care, we should simply detect this case at
-# runtime and generate the fallback to serial emulation.
+# Assume x86-64-v2 (minus CMPXCHG16B for 32-bit code)
+if host_arch == 'i386'
+ qemu_common_flags = ['-mfpmath=sse'] + qemu_common_flags
+endif
+if host_arch in ['i386', 'x86_64']
+ qemu_common_flags = ['-mpopcnt', '-msse4.2'] + qemu_common_flags
+endif
if host_arch == 'x86_64'
qemu_common_flags = ['-mcx16'] + qemu_common_flags
endif