[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree |
Date: |
Wed, 10 Jun 2020 09:41:11 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 6/9/20 6:02 PM, Peter Maydell wrote:
> 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.
I agree. The TCG ARM code is well documented, but the decodetree
view makes it easier to review. Kinda obvious when you compare
with the TCG code in older QEMU architectures.
Personally I also find it easier to set breakpoints.
> (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(-)
>
- [PATCH 6/7] target/arm: Convert Neon 3-reg-diff saturating doubling multiplies, (continued)
- [PATCH 6/7] target/arm: Convert Neon 3-reg-diff saturating doubling multiplies, Peter Maydell, 2020/06/09
- [PATCH 7/7] target/arm: Convert Neon 3-reg-diff polynomial VMULL, Peter Maydell, 2020/06/09
- Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree, no-reply, 2020/06/09
- Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree, no-reply, 2020/06/09
- Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree, no-reply, 2020/06/09
- Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree, no-reply, 2020/06/09
- Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree, no-reply, 2020/06/09
- Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree, no-reply, 2020/06/09
- Re: [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree,
Philippe Mathieu-Daudé <=