From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40599) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bykY8-0001lA-Hp for qemu-devel@nongnu.org; Mon, 24 Oct 2016 15:04:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bykY7-000634-Hu for qemu-devel@nongnu.org; Mon, 24 Oct 2016 15:04:44 -0400 Sender: Richard Henderson References: <1476803431-7208-1-git-send-email-rth@twiddle.net> From: Richard Henderson Message-ID: <12fc813a-df9f-3120-810d-b7a62d59cadf@twiddle.net> Date: Mon, 24 Oct 2016 12:04:33 -0700 MIME-Version: 1.0 In-Reply-To: <1476803431-7208-1-git-send-email-rth@twiddle.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Eduardo Habkost , Yongbok Kim , David Gibson , "qemu-ppc@nongnu.org" , Alexander Graf Pinging target maintainers. If I don't get responses by the end of the week, I'll only push the generic tcg bits and the two targets that I maintain. r~ On 10/18/2016 08:10 AM, Richard Henderson wrote: > Better tested this time, including aarch64 host. > > Changes since v1: > * Added tcg_gen_deposit_z_*. Depositing into zero turns out to be > quite common among targets. Providing that as a primitive expander > allows us to easily generate optimal-ish code for hosts with and > without a real deposit operation. > * Cleanups in tcg/s390 akin to those I already did for tcg/arm. > * Add support in tcg/s390 for deposit into zero. > * More special cases in the expanders for better code generation, > especially on an x86 host *without* the extract primitives. > * Silly think-o on aarch64 host. > > > r~ > > > Richard Henderson (18): > tcg: Add field extraction primitives > tcg: Minor adjustments to deposit expanders > tcg: Add deposit_z expander > tcg/aarch64: Implement field extraction opcodes > tcg/arm: Move isa detection to tcg-target.h > tcg/arm: Implement field extraction opcodes > tcg/i386: Implement field extraction opcodes > tcg/mips: Implement field extraction opcodes > tcg/ppc: Implement field extraction opcodes > tcg/s390: Expose host facilities to tcg-target.h > tcg/s390: Implement field extraction opcodes > tcg/s390: Support deposit into zero > target-alpha: Use deposit and extract ops > target-arm: Use new deposit and extract ops > target-i386: Use new deposit and extract ops > target-mips: Use the new extract op > target-ppc: Use the new deposit and extract ops > target-s390x: Use the new deposit and extract ops > > target-alpha/translate.c | 67 ++++--- > target-arm/translate-a64.c | 79 +++----- > target-arm/translate.c | 37 +--- > target-i386/translate.c | 45 +++-- > target-mips/translate.c | 12 +- > target-ppc/translate.c | 35 ++-- > target-s390x/translate.c | 34 ++-- > tcg/aarch64/tcg-target.h | 4 + > tcg/aarch64/tcg-target.inc.c | 14 ++ > tcg/arm/tcg-target.h | 38 +++- > tcg/arm/tcg-target.inc.c | 63 +++--- > tcg/i386/tcg-target.h | 10 + > tcg/i386/tcg-target.inc.c | 38 ++++ > tcg/ia64/tcg-target.h | 4 + > tcg/mips/tcg-target.h | 2 + > tcg/mips/tcg-target.inc.c | 4 + > tcg/optimize.c | 29 +++ > tcg/ppc/tcg-target.h | 4 + > tcg/ppc/tcg-target.inc.c | 10 + > tcg/s390/tcg-target.h | 122 +++++++----- > tcg/s390/tcg-target.inc.c | 113 ++++++----- > tcg/sparc/tcg-target.h | 4 + > tcg/tcg-op.c | 465 ++++++++++++++++++++++++++++++++++++++++++- > tcg/tcg-op.h | 18 ++ > tcg/tcg-opc.h | 4 + > tcg/tcg.h | 8 + > tcg/tci/tcg-target.h | 4 + > 27 files changed, 954 insertions(+), 313 deletions(-) >