qemu-e2k/target/arm
Peter Maydell 625e3dd44a target/arm: Add stubs for AArch32 Neon decodetree
Add the infrastructure for building and invoking a decodetree decoder
for the AArch32 Neon encodings.  At the moment the new decoder covers
nothing, so we always fall back to the existing hand-written decode.

We follow the same pattern we did for the VFP decodetree conversion
(commit 78e138bc1f and following): code that deals
with Neon will be moving gradually out to translate-neon.vfp.inc,
which we #include into translate.c.

In order to share the decode files between A32 and T32, we
split Neon into 3 parts:
 * data-processing
 * load-store
 * 'shared' encodings

The first two groups of instructions have similar but not identical
A32 and T32 encodings, so we need to manually transform the T32
encoding into the A32 one before calling the decoder; the third group
covers the Neon instructions which are identical in A32 and T32.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200430181003.21682-4-peter.maydell@linaro.org
2020-05-04 12:57:56 +01:00
..
Makefile.objs target/arm: Add stubs for AArch32 Neon decodetree 2020-05-04 12:57:56 +01:00
a32-uncond.decode
a32.decode
arch_dump.c target/arm: Add isar_feature_aa32_vfp_simd 2020-02-28 16:14:57 +00:00
arm-powerctl.c arm/arm-powerctl: rebuild hflags after setting CP15 bits in arm_set_cpu_on() 2019-12-20 14:03:00 +00:00
arm-powerctl.h
arm-semi.c target/arm/arm-semi: Don't let the guest close stdin/stdout/stderr 2020-01-30 16:02:01 +00:00
arm_ldst.h target/arm: fetch code with translator_ld 2019-10-28 15:12:38 +00:00
cpu-param.h target/arm: Don't use a TLB for ARMMMUIdx_Stage2 2020-05-04 10:32:46 +01:00
cpu-qom.h target/arm: Make cpu_register() available for other files 2020-04-30 15:35:41 +01:00
cpu.c target/arm: Use uint64_t for midr field in CPU state struct 2020-05-04 10:32:46 +01:00
cpu.h target/arm: Use uint64_t for midr field in CPU state struct 2020-05-04 10:32:46 +01:00
cpu64.c target/arm: Use correct variable for setting 'max' cpu's ID_AA64DFR0 2020-05-04 10:32:46 +01:00
crypto_helper.c
debug_helper.c target/arm: Stop assuming DBGDIDR always exists 2020-02-21 16:07:01 +00:00
gdbstub.c gdbstub: Do not use memset() on GByteArray 2020-04-15 11:38:23 +01:00
gdbstub64.c gdbstub: extend GByteArray to read register helpers 2020-03-17 17:38:38 +00:00
helper-a64.c target/arm: Move helper_dc_zva to helper-a64.c 2020-03-05 16:09:20 +00:00
helper-a64.h target/arm: Use DEF_HELPER_FLAGS for helper_dc_zva 2020-03-05 16:09:21 +00:00
helper-sve.h target/arm: Convert PMULL.8 to gvec 2020-02-21 16:07:02 +00:00
helper.c target/arm: Implement ARMv8.2-TTS2UXN 2020-05-04 10:32:46 +01:00
helper.h target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
idau.h
internals.h target/arm: Introduce core_to_aa64_mmu_idx 2020-03-05 16:09:20 +00:00
iwmmxt_helper.c
kvm-consts.h
kvm-stub.c
kvm.c target/arm/kvm: Let kvm_arm_vgic_probe() return a bitmap 2020-03-12 16:27:33 +00:00
kvm32.c target/arm: kvm: Inject events at the last stage of sync 2020-03-12 16:31:10 +00:00
kvm64.c target/arm: kvm: Inject events at the last stage of sync 2020-03-12 16:31:10 +00:00
kvm_arm.h target/arm/kvm: Let kvm_arm_vgic_probe() return a bitmap 2020-03-12 16:27:33 +00:00
m_helper.c target/arm: Add isar_feature_aa32_vfp_simd 2020-02-28 16:14:57 +00:00
machine.c target/arm: Add isar_feature_aa64_fp_simd, isar_feature_aa32_vfp 2020-02-28 16:14:57 +00:00
monitor.c Use &error_abort instead of separate assert() 2020-03-17 16:05:40 +01:00
neon-dp.decode target/arm: Add stubs for AArch32 Neon decodetree 2020-05-04 12:57:56 +01:00
neon-ls.decode target/arm: Add stubs for AArch32 Neon decodetree 2020-05-04 12:57:56 +01:00
neon-shared.decode target/arm: Add stubs for AArch32 Neon decodetree 2020-05-04 12:57:56 +01:00
neon_helper.c target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
op_addsub.h
op_helper.c target/arm: Move helper_dc_zva to helper-a64.c 2020-03-05 16:09:20 +00:00
pauth_helper.c target/arm: Use bit 55 explicitly for pauth 2020-02-21 16:07:00 +00:00
psci.c
sve.decode
sve_helper.c tcg: Search includes from the project root source directory 2020-01-15 15:13:10 -10:00
t16.decode
t32.decode
tlb_helper.c target/arm: Return correct IL bit in merge_syn_data_abort 2020-01-17 14:27:16 +00:00
trace-events
translate-a64.c target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
translate-a64.h
translate-neon.inc.c target/arm: Add stubs for AArch32 Neon decodetree 2020-05-04 12:57:56 +01:00
translate-sve.c tcg: Search includes from the project root source directory 2020-01-15 15:13:10 -10:00
translate-vfp.inc.c target/arm/translate-vfp.inc.c: Remove duplicate simd_r32 check 2020-05-04 12:57:56 +01:00
translate.c target/arm: Add stubs for AArch32 Neon decodetree 2020-05-04 12:57:56 +01:00
translate.h target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
vec_helper.c target/arm: Vectorize integer comparison vs zero 2020-04-30 15:35:41 +01:00
vfp-uncond.decode target/arm: Split VMINMAXNM decode 2020-02-28 16:14:57 +00:00
vfp.decode target/arm: Split VFM decode 2020-02-28 16:14:57 +00:00
vfp_helper.c target/arm: Add isar_feature_any_fp16 and document naming/usage conventions 2020-02-21 16:07:00 +00:00