qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v3 0/5] Add support for MSA instructions on a big en


From: Mateja Marjanovic
Subject: [Qemu-devel] [PATCH v3 0/5] Add support for MSA instructions on a big endian host
Date: Fri, 29 Mar 2019 08:36:35 +0100

From: Mateja Marjanovic <address@hidden>

Add support for MSA instructions while executing QEMU on a
machine that uses big endian MIPS CPU. Also change the
implementation of helpers for MSA instructions
ST.<B|H|W|D>, LD.<B|H|W|D>, INSERT.<B|H|W> (and D on MIPS64),
COPY_S.<B|H|W> (and D on MIPS64) and COPY_U.<B|H> (and W
on MIPS64). Instead of using a switch in a helper, which is
called many times, put a switch in translate.c file, which
is called only a few times.

v3:
 - Unroll loops in ST.<B|H|W|D> and LD.<B|H|W|D>
   instructions.
 - Eliminate macro that generates the helpers for
   the ST.<B|H|W|D> and LD.<B|H|W|D> instructions,
   and add four helpers for each (for byte,
   halfword, word and doubleword).
 - Eliminate the helpers for INSERT.<B|H|W|D>,
   COPY_S.<B|H|W|D> and COPY_U.<B|H|W> and add
   four (three in case of COPY_U) helpers for
   each one.

Mateja Marjanovic (5):
  target/mips: MSA instructions ld, big endian host fix
  target/mips: MSA instructions st, big endian host fix
  target/mips: Different approach toward COPY_S MSA instr. and big
    endian fix
  target/mips: Different approach toward COPY_U MSA instr. and big
    endian fix
  target/mips: Different approach toward INSERT MSA instr. and big
    endian fix

 target/mips/helper.h     |  16 +-
 target/mips/msa_helper.c | 182 ++++++++++++++++-------
 target/mips/op_helper.c  | 376 ++++++++++++++++++++++++++++++++++++++++++-----
 target/mips/translate.c  |  59 +++++++-
 4 files changed, 533 insertions(+), 100 deletions(-)

-- 
2.7.4




reply via email to

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