507b6a500c
Implement the forms of the MVE VLDR and VSTR insns which perform non-widening loads of bytes, halfwords or words from memory into vector elements of the same width (encodings T5, T6, T7). (At the moment we know for MVE and M-profile in general that vfp_access_check() can never return false, but we include the conventional return-true-on-failure check for consistency with non-M-profile translation code.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20210617121628.20116-2-peter.maydell@linaro.org
65 lines
1.9 KiB
Meson
65 lines
1.9 KiB
Meson
gen = [
|
|
decodetree.process('sve.decode', extra_args: '--decode=disas_sve'),
|
|
decodetree.process('neon-shared.decode', extra_args: '--decode=disas_neon_shared'),
|
|
decodetree.process('neon-dp.decode', extra_args: '--decode=disas_neon_dp'),
|
|
decodetree.process('neon-ls.decode', extra_args: '--decode=disas_neon_ls'),
|
|
decodetree.process('vfp.decode', extra_args: '--decode=disas_vfp'),
|
|
decodetree.process('vfp-uncond.decode', extra_args: '--decode=disas_vfp_uncond'),
|
|
decodetree.process('m-nocp.decode', extra_args: '--decode=disas_m_nocp'),
|
|
decodetree.process('mve.decode', extra_args: '--decode=disas_mve'),
|
|
decodetree.process('a32.decode', extra_args: '--static-decode=disas_a32'),
|
|
decodetree.process('a32-uncond.decode', extra_args: '--static-decode=disas_a32_uncond'),
|
|
decodetree.process('t32.decode', extra_args: '--static-decode=disas_t32'),
|
|
decodetree.process('t16.decode', extra_args: ['-w', '16', '--static-decode=disas_t16']),
|
|
]
|
|
|
|
arm_ss = ss.source_set()
|
|
arm_ss.add(gen)
|
|
arm_ss.add(files(
|
|
'cpu.c',
|
|
'crypto_helper.c',
|
|
'debug_helper.c',
|
|
'gdbstub.c',
|
|
'helper.c',
|
|
'iwmmxt_helper.c',
|
|
'm_helper.c',
|
|
'mve_helper.c',
|
|
'neon_helper.c',
|
|
'op_helper.c',
|
|
'tlb_helper.c',
|
|
'translate.c',
|
|
'translate-m-nocp.c',
|
|
'translate-mve.c',
|
|
'translate-neon.c',
|
|
'translate-vfp.c',
|
|
'vec_helper.c',
|
|
'vfp_helper.c',
|
|
'cpu_tcg.c',
|
|
))
|
|
arm_ss.add(zlib)
|
|
|
|
arm_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c', 'kvm64.c'), if_false: files('kvm-stub.c'))
|
|
|
|
arm_ss.add(when: 'TARGET_AARCH64', if_true: files(
|
|
'cpu64.c',
|
|
'gdbstub64.c',
|
|
'helper-a64.c',
|
|
'mte_helper.c',
|
|
'pauth_helper.c',
|
|
'sve_helper.c',
|
|
'translate-a64.c',
|
|
'translate-sve.c',
|
|
))
|
|
|
|
arm_softmmu_ss = ss.source_set()
|
|
arm_softmmu_ss.add(files(
|
|
'arch_dump.c',
|
|
'arm-powerctl.c',
|
|
'machine.c',
|
|
'monitor.c',
|
|
'psci.c',
|
|
))
|
|
|
|
target_arch += {'arm': arm_ss}
|
|
target_softmmu_arch += {'arm': arm_softmmu_ss}
|