From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xl3Q4-0006qC-Fo for qemu-devel@nongnu.org; Sun, 02 Nov 2014 17:14:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xl3Pz-0004nQ-BE for qemu-devel@nongnu.org; Sun, 02 Nov 2014 17:14:44 -0500 Received: from mailapp01.imgtec.com ([195.59.15.196]:64939) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xl3Pz-0004nK-5Z for qemu-devel@nongnu.org; Sun, 02 Nov 2014 17:14:39 -0500 Message-ID: <5456ACB5.304@imgtec.com> Date: Sun, 2 Nov 2014 22:14:13 +0000 From: Leon Alrae MIME-Version: 1.0 References: <1414819733-30765-1-git-send-email-yongbok.kim@imgtec.com> In-Reply-To: <1414819733-30765-1-git-send-email-yongbok.kim@imgtec.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 00/19] target-mips: add MSA module List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Yongbok Kim Cc: qemu-devel@nongnu.org, aurelien@aurel32.net On 01/11/14 05:28, Yongbok Kim wrote: > For 2.2 Release. > > The following patchset implements MIPS SIMD Architecture module. > MSA adds new instructions to MIPS Architecture that allow efficient > parallel processing of vector operations. > > For more information refer to: > MIPS Architecture Reference Manual > Volume IV-j: The MIPS32 SIMD Architecture Module > The document (MD00867) is available at: > http://www.imgtec.com/mips/architectures/simd.asp > > The MSA floating-point is compliant with the IEEE Standard for Floating-Point > Arithmetic 754TM-2008. However this patchset is not set up with the IEEE-2008 > option as QEMU softfloat for MIPS has not been updated yet. > > v3: > * fixes for mixed declarations and code > * remove duplicated code > * change data format for immediate values > > v2: > * fixes for Leon's and James' comments > * rebased top of R6 patchset > * Code refactored mainly for msa_helper.c > > Yongbok Kim (19): > target-mips: add MSA defines and data structure > target-mips: add MSA exceptions > target-mips: remove duplicated mips/ieee mapping function > target-mips: stop translation after ctc1 > target-mips: add MSA opcode enum > target-mips: add msa_reset(), global msa register > target-mips: add msa_helper.c > target-mips: add MSA branch instructions > target-mips: add MSA I8 format instructions > target-mips: add MSA I5 format instruction > target-mips: add MSA BIT format instructions > target-mips: add MSA 3R format instructions > target-mips: add MSA ELM format instructions > target-mips: add MSA 3RF format instructions > target-mips: add MSA VEC/2R format instructions > target-mips: add MSA 2RF format instructions > target-mips: add MSA MI10 format instructions > disas/mips.c: disassemble MSA instructions > target-mips: add MSA support to mips32r5-generic > > disas/mips.c | 716 +++++++++- > target-mips/Makefile.objs | 2 +- > target-mips/cpu.h | 56 +- > target-mips/gdbstub.c | 7 - > target-mips/helper.c | 10 + > target-mips/helper.h | 185 +++ > target-mips/mips-defs.h | 1 + > target-mips/msa_helper.c | 3437 ++++++++++++++++++++++++++++++++++++++++++ > target-mips/op_helper.c | 89 +- > target-mips/translate.c | 1647 +++++++++++++++++++-- > target-mips/translate_init.c | 39 +- > 11 files changed, 6052 insertions(+), 137 deletions(-) > create mode 100644 target-mips/msa_helper.c > This patchset certainly looks cleaner than previous versions - thanks! However, there are still some wrinkles to iron out, and also there is room for improvement - for example big-endian host issue, "switch (df)" present in each helper even though data format is known at translation time, missing register partitioning etc.). Having said that I think this patchset deserves to be merged as it introduces significant amount of tested MIPS SIMD instructions. In my opinion further MSA improvements and cleaning can be done as a part of separate patchset (I'll be happy to help doing that), thus I'm going to apply it to mips-next branch. Thanks, Leon