qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 00/19] target-mips: add MSA module


From: Leon Alrae
Subject: Re: [Qemu-devel] [PATCH v3 00/19] target-mips: add MSA module
Date: Sun, 2 Nov 2014 22:14:13 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111124 Thunderbird/8.0

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]