07.10.2024 17:46, Richard Henderson пишет:
On 10/7/24 01:43, Paolo Bonzini wrote:
Create a separate variable for compiler flags that enable
specific instruction set extensions, so that they can be used with
cc.compiles/cc.links.
Note that -mfpmath=sse is a code generation option but it does not
enable new instructions, therefore I did not make it part of
qemu_isa_flags.
Suggested-by: Pierrick Bouvier <pierrick.bouv...@linaro.org>
Cc: qemu-sta...@nongnu.org
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
meson.build | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
index 76335bb2a51..bbb0f6d9bcf 100644
--- a/meson.build
+++ b/meson.build
@@ -335,6 +335,10 @@ elif host_os == 'windows'
endif
endif
+# Choose instruction set (currently x86-only)
+
+qemu_isa_flags = []
+
# __sync_fetch_and_and requires at least -march=i486. Many toolchains
# use i686 as default anyway, but for those that don't, an explicit
# specification is necessary
@@ -351,7 +355,7 @@ if host_arch == 'i386' and not cc.links('''
sfaa(&val);
return val;
}''')
- qemu_common_flags = ['-march=i486'] + qemu_common_flags
+ qemu_isa_flags = ['-march=i486']
Use += ?
Yes, it is better to use += here - when reviewing the patch this is
obvious qemu_isa_flags is empty at this point, but it wont be as
obvious in the actual code when initial assignment is quite far away
from this prepending.
- qemu_common_flags = ['-mcx16'] + qemu_common_flags
+ qemu_isa_flags = ['-mcx16'] + qemu_isa_flags
Likewise, why verbosely prepend, rather than append with += ?
The same for all others, including
+qemu_common_flags = qemu_isa_flags + qemu_common_flags
I'd keep prepending here (but not in qemu_isa_flags above) because this
way it is possible to override some flags by the user.
/mjt