qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree
@ 2020-06-09 16:02 Peter Maydell
  2020-06-09 16:02 ` [PATCH 1/7] target/arm: Fix missing temp frees in do_vshll_2sh Peter Maydell
                   ` (13 more replies)
  0 siblings, 14 replies; 23+ messages in thread
From: Peter Maydell @ 2020-06-09 16:02 UTC (permalink / raw)
  To: qemu-arm, qemu-devel; +Cc: Richard Henderson

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



^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2020-06-10  7:42 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-09 16:02 [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree Peter Maydell
2020-06-09 16:02 ` [PATCH 1/7] target/arm: Fix missing temp frees in do_vshll_2sh Peter Maydell
2020-06-09 17:09   ` Richard Henderson
2020-06-10  7:34   ` Philippe Mathieu-Daudé
2020-06-09 16:02 ` [PATCH 2/7] target/arm: Convert Neon 3-reg-diff prewidening ops to decodetree Peter Maydell
2020-06-09 17:26   ` Richard Henderson
2020-06-09 16:02 ` [PATCH 3/7] target/arm: Convert Neon 3-reg-diff narrowing " Peter Maydell
2020-06-09 17:40   ` Richard Henderson
2020-06-09 16:02 ` [PATCH 4/7] target/arm: Convert Neon 3-reg-diff VABAL, VABDL " Peter Maydell
2020-06-09 18:16   ` Richard Henderson
2020-06-09 16:02 ` [PATCH 5/7] target/arm: Convert Neon 3-reg-diff long multiplies Peter Maydell
2020-06-09 18:26   ` Richard Henderson
2020-06-09 16:02 ` [PATCH 6/7] target/arm: Convert Neon 3-reg-diff saturating doubling multiplies Peter Maydell
2020-06-09 18:45   ` Richard Henderson
2020-06-09 16:02 ` [PATCH 7/7] target/arm: Convert Neon 3-reg-diff polynomial VMULL Peter Maydell
2020-06-09 18:56   ` Richard Henderson
2020-06-09 17:01 ` [PATCH 0/7] target/arm: Convert Neon 3-reg-diff to decodetree no-reply
2020-06-09 17:29 ` no-reply
2020-06-09 17:33 ` no-reply
2020-06-09 20:12 ` no-reply
2020-06-09 21:07 ` no-reply
2020-06-09 21:10 ` no-reply
2020-06-10  7:41 ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).