]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/arm: Add stubs for AArch32 Neon decodetree
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 30 Apr 2020 18:09:30 +0000 (19:09 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 4 May 2020 11:57:56 +0000 (12:57 +0100)
commit625e3dd44a15dfbe9532daa6454df3f86cf04d3e
tree060170c121c12613751394f8920e91debc08ce68
parentd1a6d3b594157425232a1ae5ea7f51b7a1c1aa2e
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 78e138bc1f672c145ef6ace74617d 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
target/arm/Makefile.objs
target/arm/neon-dp.decode [new file with mode: 0644]
target/arm/neon-ls.decode [new file with mode: 0644]
target/arm/neon-shared.decode [new file with mode: 0644]
target/arm/translate-neon.inc.c [new file with mode: 0644]
target/arm/translate.c