diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2020-06-16 10:32:28 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2020-06-16 10:32:28 +0100 |
commit | 0aad761fb0aed40c99039eacac470cbd03d07019 (patch) | |
tree | d6a9e4f00b3504bb26a5ff4d0278ca75c90f0786 /target/arm/neon-dp.decode | |
parent | 77e576a9281825fc170f3b3af83f47e110549b5c (diff) | |
download | qemu-0aad761fb0aed40c99039eacac470cbd03d07019.zip qemu-0aad761fb0aed40c99039eacac470cbd03d07019.tar.gz qemu-0aad761fb0aed40c99039eacac470cbd03d07019.tar.bz2 |
target/arm: Convert Neon VEXT to decodetree
Convert the Neon VEXT insn to decodetree. Rather than keeping the
old implementation which used fixed temporaries cpu_V0 and cpu_V1
and did the extraction with by-hand shift and logic ops, we use
the TCG extract2 insn.
We don't need to special case 0 or 8 immediates any more as the
optimizer is smart enough to throw away the dead code.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/arm/neon-dp.decode')
-rw-r--r-- | target/arm/neon-dp.decode | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/target/arm/neon-dp.decode b/target/arm/neon-dp.decode index 9ff182f..26d6022 100644 --- a/target/arm/neon-dp.decode +++ b/target/arm/neon-dp.decode @@ -413,7 +413,13 @@ Vimm_1r 1111 001 . 1 . 000 ... .... cmode:4 0 . op:1 1 .... @1reg_imm # return false for size==3. ###################################################################### { - # 0b11 subgroup will go here + [ + ################################################################## + # Miscellaneous size=0b11 insns + ################################################################## + VEXT 1111 001 0 1 . 11 .... .... imm:4 . q:1 . 0 .... \ + vm=%vm_dp vn=%vn_dp vd=%vd_dp + ] # Subgroup for size != 0b11 [ |