@samitouri / QOSamiQemu / commits / 5f3b499998

target/arm/tcg/translate-vfp.c: make compilation unit common

Generated decode files must be duplicated between user and system, as they are generated in private folders per libs, and can't be included otherwise, as meson does not give control on output folder. Indeed, meson generator is a different approach than custom_target, and this is a limitation by design. They were already duplicated between arch variants anyway, so nothing new here. They will now be compiled once for system binaries, and still per target for user binaries. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Tested-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-id: 20260407222208.271838-6-pierrick.bouvier@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Pierrick Bouvier committed Apr 23, 2026 at 10:24 UTC 5f3b49999871cb2831b0f91d4f467d27868c8019
1 file changed +13 -5
target/arm/tcg/meson.build
+13 -5
@@ -5,12 +5,15 @@ gen_a64 = [
5 decodetree.process('sme-fa64.decode', extra_args: '--static-decode=disas_sme_fa64'),
6 ]
7
8 +vfp_d = [
9 + decodetree.process('vfp.decode', extra_args: '--decode=disas_vfp'),
10 + decodetree.process('vfp-uncond.decode', extra_args: '--decode=disas_vfp_uncond'),
11 +]
12 +
13 gen_a32 = [
14 decodetree.process('neon-shared.decode', extra_args: '--decode=disas_neon_shared'),
15 decodetree.process('neon-dp.decode', extra_args: '--decode=disas_neon_dp'),
16 decodetree.process('neon-ls.decode', extra_args: '--decode=disas_neon_ls'),
12 - decodetree.process('vfp.decode', extra_args: '--decode=disas_vfp'),
13 - decodetree.process('vfp-uncond.decode', extra_args: '--decode=disas_vfp_uncond'),
17 decodetree.process('m-nocp.decode', extra_args: '--decode=disas_m_nocp'),
18 decodetree.process('mve.decode', extra_args: '--decode=disas_mve'),
19 decodetree.process('a32.decode', extra_args: '--static-decode=disas_a32'),
@@ -30,7 +33,6 @@ arm_ss.add(files(
33 'translate-m-nocp.c',
34 'translate-mve.c',
35 'translate-neon.c',
33 - 'translate-vfp.c',
36 'm_helper.c',
37 'mve_helper.c',
38 'op_helper.c',
@@ -60,7 +62,9 @@ arm_common_ss.add(files(
62 'crypto_helper.c',
63 ))
64
63 -arm_common_system_ss.add(files(
65 +arm_common_system_ss.add(
66 + vfp_d,
67 + files(
68 'cpregs-at.c',
69 'debug.c',
70 'hflags.c',
@@ -68,14 +72,18 @@ arm_common_system_ss.add(files(
72 'psci.c',
73 'tlb_helper.c',
74 'tlb-insns.c',
75 + 'translate-vfp.c',
76 'vec_helper.c',
77 'vfp_helper.c',
78 ))
74 -arm_user_ss.add(files(
79 +arm_user_ss.add(
80 + vfp_d,
81 + files(
82 'debug.c',
83 'hflags.c',
84 'neon_helper.c',
85 'tlb_helper.c',
86 + 'translate-vfp.c',
87 'vec_helper.c',
88 'vfp_helper.c',
89 ))