qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <rth@twiddle.net>
To: qemu-devel@nongnu.org
Cc: blauwirbel@gmail.com
Subject: [Qemu-devel] [PATCH 00/21] Sparc FPU/VIS improvements
Date: Tue, 18 Oct 2011 11:50:22 -0700	[thread overview]
Message-ID: <1318963843-25100-1-git-send-email-rth@twiddle.net> (raw)

This started out to be simply flushing out the VIS2 instruction set.
But when I got a look a the DT0/1 "calling convention" I choked, and
thought we could really do better than that.

The end result (op_opt,out_asm) looks significantly cleaner for a
64-bit host.  It looks about the same for a 32-bit host.

I've been testing this vs the gcc testsuite, both for its generic
ieee test cases, and the vectorization tests w/ -mvis2.

Watch out for the last patch.  It was an attempt to get rid of the
hundreds of tls failures in the gcc testsuite by supporting NPTL.
Except the clone syscall crashes, and seems to be crashing at a point
where it's difficult to see what's going wrong.  That patch is 
present here for discussion only.

All of this is relative to blueswirl's sparc tree.  Which I think
should go in as a most excellent cleanup of target-sparc.  I've
pushed the tree to

  git://repo.or.cz/qemu/rth.git rth/vis


r~


Richard Henderson (21):
  target-sparc: Add accessors for single-precision fpr access.
  target-sparc: Mark fprs dirty in store accessor.
  target-sparc: Add accessors for double-precision fpr access.
  target-sparc: Pass float64 parameters instead of dt0/1 temporaries.
  target-sparc: Make VIS helpers const when possible.
  target-sparc: Extract common code for floating-point operations.
  target-sparc: Extract float128 move to a function.
  target-sparc: Undo cpu_fpr rename.
  target-sparc: Change fpr representation to doubles.
  tcg: Optimize some forms of deposit.
  target-sparc: Do exceptions management fully inside the helpers.
  sparc-linux-user: Handle SIGILL.
  target-sparc: Implement PDIST.
  target-sparc: Implement fpack{16,32,fix}.
  target-sparc: Implement EDGE* instructions.
  target-sparc: Implement ALIGNADDR* inline.
  target-sparc: Implement BMASK/BSHUFFLE.
  target-sparc: Tidy fpack32.
  target-sparc: Implement FALIGNDATA inline.
  sparc-linux-user: Add some missing syscall numbers
  sparc-linux-user: Enable NPTL

 configure                     |    3 +
 gdbstub.c                     |   35 +-
 linux-user/main.c             |    9 +
 linux-user/signal.c           |   28 +-
 linux-user/sparc/syscall_nr.h |    3 +
 linux-user/syscall.c          |   12 +-
 monitor.c                     |   96 ++--
 target-sparc/cpu.h            |   38 +-
 target-sparc/cpu_init.c       |    6 +-
 target-sparc/fop_helper.c     |  294 ++++++---
 target-sparc/helper.h         |  120 ++--
 target-sparc/ldst_helper.c    |  123 +---
 target-sparc/machine.c        |   20 +-
 target-sparc/translate.c      | 1461 ++++++++++++++++++++++++-----------------
 target-sparc/vis_helper.c     |  251 +++++---
 tcg/tcg-op.h                  |   65 ++-
 16 files changed, 1503 insertions(+), 1061 deletions(-)

-- 
1.7.6.4

             reply	other threads:[~2011-10-18 18:51 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-18 18:50 Richard Henderson [this message]
2011-10-18 18:50 ` [Qemu-devel] [PATCH 01/21] target-sparc: Add accessors for single-precision fpr access Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 02/21] target-sparc: Mark fprs dirty in store accessor Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 03/21] target-sparc: Add accessors for double-precision fpr access Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 04/21] target-sparc: Pass float64 parameters instead of dt0/1 temporaries Richard Henderson
2011-10-18 20:04   ` Blue Swirl
2011-10-18 20:07     ` Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 05/21] target-sparc: Make VIS helpers const when possible Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 06/21] target-sparc: Extract common code for floating-point operations Richard Henderson
2011-10-18 20:24   ` Blue Swirl
2011-10-18 22:21     ` Richard Henderson
2011-10-23 11:34       ` Blue Swirl
2011-10-18 18:50 ` [Qemu-devel] [PATCH 07/21] target-sparc: Extract float128 move to a function Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 08/21] target-sparc: Undo cpu_fpr rename Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 09/21] target-sparc: Change fpr representation to doubles Richard Henderson
2011-10-18 20:28   ` Blue Swirl
2011-10-18 22:25     ` Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 10/21] tcg: Optimize some forms of deposit Richard Henderson
2011-10-18 20:30   ` Blue Swirl
2011-10-18 22:27     ` Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 11/21] target-sparc: Do exceptions management fully inside the helpers Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 12/21] sparc-linux-user: Handle SIGILL Richard Henderson
2011-10-18 20:32   ` Blue Swirl
2011-10-18 22:27     ` Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 13/21] target-sparc: Implement PDIST Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 14/21] target-sparc: Implement fpack{16, 32, fix} Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 15/21] target-sparc: Implement EDGE* instructions Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 16/21] target-sparc: Implement ALIGNADDR* inline Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 17/21] target-sparc: Implement BMASK/BSHUFFLE Richard Henderson
2011-10-18 20:36   ` Blue Swirl
2011-10-18 18:50 ` [Qemu-devel] [PATCH 18/21] target-sparc: Tidy fpack32 Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 19/21] target-sparc: Implement FALIGNDATA inline Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 20/21] sparc-linux-user: Add some missing syscall numbers Richard Henderson
2011-10-18 18:50 ` [Qemu-devel] [PATCH 21/21] sparc-linux-user: Enable NPTL Richard Henderson
2011-10-18 19:50 ` [Qemu-devel] [PATCH 00/21] Sparc FPU/VIS improvements Blue Swirl
2011-10-18 20:03   ` Richard Henderson
2011-10-18 20:19     ` Blue Swirl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1318963843-25100-1-git-send-email-rth@twiddle.net \
    --to=rth@twiddle.net \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).