[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree
From: |
Peter Maydell |
Subject: |
[PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree |
Date: |
Tue, 9 Jun 2020 17:02:02 +0100 |
This patchset converts the Neon insns in the "3 registers of different
lengths" group to decodetree. Patch 1 is a bugfix for an earlier
part of the conversion that's now in master.
I'm definitely finding that the new decodetree version of Neon
is often easier to understand because we no longer try to
accommodate multiple different kinds of widening/narrowing/etc
insns in a single multi-pass loop: expanding out the loop and
specializing it to the particular insn type helps a lot.
(Or maybe it's just that having to read the old code and write
the new version means I understand it better ;-))
Based-on: id:20200608183652.661386-1-richard.henderson@linaro.org
("[PATCH v3 0/9] decodetree: Add non-overlapping groups")
because we use the new group syntax to set up the structure
for the "size==0b11" vs "size!=0b11" decode which we'll fill
in in subsequent patchsets.
thanks
-- PMM
Peter Maydell (7):
target/arm: Fix missing temp frees in do_vshll_2sh
target/arm: Convert Neon 3-reg-diff prewidening ops to decodetree
target/arm: Convert Neon 3-reg-diff narrowing ops to decodetree
target/arm: Convert Neon 3-reg-diff VABAL, VABDL to decodetree
target/arm: Convert Neon 3-reg-diff long multiplies
target/arm: Convert Neon 3-reg-diff saturating doubling multiplies
target/arm: Convert Neon 3-reg-diff polynomial VMULL
target/arm/translate.h | 1 +
target/arm/neon-dp.decode | 72 +++++
target/arm/translate-neon.inc.c | 521 ++++++++++++++++++++++++++++++++
target/arm/translate.c | 222 +-------------
4 files changed, 597 insertions(+), 219 deletions(-)
--
2.20.1
- [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree,
Peter Maydell <=
- [PATCH 5/7] target/arm: Convert Neon 3-reg-diff long multiplies, Peter Maydell, 2020/06/09
- [PATCH 4/7] target/arm: Convert Neon 3-reg-diff VABAL, VABDL to decodetree, Peter Maydell, 2020/06/09
- [PATCH 2/7] target/arm: Convert Neon 3-reg-diff prewidening ops to decodetree, Peter Maydell, 2020/06/09
- [PATCH 3/7] target/arm: Convert Neon 3-reg-diff narrowing ops to decodetree, Peter Maydell, 2020/06/09
- [PATCH 1/7] target/arm: Fix missing temp frees in do_vshll_2sh, Peter Maydell, 2020/06/09