From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:43696) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RGEl8-0000Wa-R8 for qemu-devel@nongnu.org; Tue, 18 Oct 2011 14:51:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RGEl7-0002AD-5X for qemu-devel@nongnu.org; Tue, 18 Oct 2011 14:51:30 -0400 Received: from mail-ww0-f53.google.com ([74.125.82.53]:33121) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RGEl6-00029l-TB for qemu-devel@nongnu.org; Tue, 18 Oct 2011 14:51:29 -0400 Received: by wwi36 with SMTP id 36so1209775wwi.10 for ; Tue, 18 Oct 2011 11:51:27 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Tue, 18 Oct 2011 11:50:22 -0700 Message-Id: <1318963843-25100-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH 00/21] Sparc FPU/VIS improvements List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: blauwirbel@gmail.com 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