qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/8] target-arm: A64 Neon instructions, set 2
@ 2014-01-23 15:28 Peter Maydell
  2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 1/8] target-arm: A64: Add SIMD three-different multiply accumulate insns Peter Maydell
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Peter Maydell @ 2014-01-23 15:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: patches, Michael Matz, Alexander Graf, Claudio Fontana,
	Dirk Mueller, Will Newton, Laurent Desnogues, Alex Bennée,
	kvmarm, Christoffer Dall, Richard Henderson

This is the second set of patches for A64 Neon. The last patch
set did a complete coverage of some of the smaller and simpler
instruction groupings; this patch set attacks a few of the
larger groupings (3-same; scalar 3-same; 3-different; shift-imm;
scalar shift-imm) and doesn't attempt complete coverage of them.
My rule of thumb was to (a) implement enough instructions to
demonstrate that the general decode and set of sub-functions/loops
was adequate (b) aim to cover at least as much as the SuSE tree.

Remaining things in SuSE 1.6 tree not yet implemented:
 3-reg-same MLA, MLS, MUL, PMUL, SMAX, UMAX, SMIN, UMIN,
            SSHL, USHL, SQSHL, UQSHL, SRSHL, URSHL
 2-reg-misc XTN, FABS, FNEG, NOT

Changes v1->v2:
 * added _i32 versions of read_vec_element and write_vec_element,
   which let us avoid messing about with TCGv_i64 temporaries and
   truncation when we're operating on 32 bits at a time and calling
   helpers which take and return TCGv_i32 values
   (these are in patch 1 for read and patch 6 for write)
 * patch 3: use -(setcond(cond)) for CMGT and friends rather than
   setcond(!cond) - 1
 * patch 5: use tcg_andc, tcg_orc in 3same-logic
 * patch 6: add missing unsupported_encoding() call in disas_simd_3same_int
   (some unsupported insns were asserting)
 * patch 6: simd_3same_int: fix table naming, make them static const,
   move the typedef to top of file so it can be used by other fns
 * patch 8: use deposit in shift-by-immediate

RTH: I've applied your reviewed-by tag to most of these patches
since they're either the same or (for patches 3, 5, 8) just the
minor tweaks you recommended. I've left patches 1 and 6 without
your tag, because of (a) the read/write_vec_element_i32() addition
and (b) patch 6 got more fixes than the others.

thanks
-- PMM

Alex Bennée (1):
  target-arm: A64: Add SIMD shift by immediate

Peter Maydell (7):
  target-arm: A64: Add SIMD three-different multiply accumulate insns
  target-arm: A64: Add SIMD three-different ABDL instructions
  target-arm: A64: Add SIMD scalar 3 same add, sub and compare ops
  target-arm: A64: Add top level decode for SIMD 3-same group
  target-arm: A64: Add logic ops from SIMD 3 same group
  target-arm: A64: Add integer ops from SIMD 3-same group
  target-arm: A64: Add simple SIMD 3-same floating point ops

 target-arm/translate-a64.c | 1281 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 1253 insertions(+), 28 deletions(-)

-- 
1.8.5

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

end of thread, other threads:[~2014-01-25 18:36 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-23 15:28 [Qemu-devel] [PATCH v2 0/8] target-arm: A64 Neon instructions, set 2 Peter Maydell
2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 1/8] target-arm: A64: Add SIMD three-different multiply accumulate insns Peter Maydell
2014-01-23 16:42   ` Richard Henderson
2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 2/8] target-arm: A64: Add SIMD three-different ABDL instructions Peter Maydell
2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 3/8] target-arm: A64: Add SIMD scalar 3 same add, sub and compare ops Peter Maydell
2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 4/8] target-arm: A64: Add top level decode for SIMD 3-same group Peter Maydell
2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 5/8] target-arm: A64: Add logic ops from SIMD 3 same group Peter Maydell
2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 6/8] target-arm: A64: Add integer ops from SIMD 3-same group Peter Maydell
2014-01-23 16:53   ` Richard Henderson
2014-01-25 18:35   ` Peter Maydell
2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 7/8] target-arm: A64: Add simple SIMD 3-same floating point ops Peter Maydell
2014-01-23 16:55   ` Richard Henderson
2014-01-23 17:26     ` Peter Maydell
2014-01-23 15:28 ` [Qemu-devel] [PATCH v2 8/8] target-arm: A64: Add SIMD shift by immediate Peter Maydell
2014-01-23 20:08   ` C Fontana
2014-01-23 20:11     ` Peter Maydell

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).