qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jia Liu <proljc@gmail.com>
To: qemu-devel@nongnu.org
Cc: aurelien@aurel32.net
Subject: [Qemu-devel] [PATCH 1/4] add MIPS DSP helpers define
Date: Mon, 12 Mar 2012 16:32:36 +0800	[thread overview]
Message-ID: <1331541159-5218-2-git-send-email-proljc@gmail.com> (raw)
In-Reply-To: <1331541159-5218-1-git-send-email-proljc@gmail.com>


This patch is the helper define of MIPS ASE DSP.

Signed-off-by: Jia Liu <proljc@gmail.com>
---
 target-mips/helper.h |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)

diff --git a/target-mips/helper.h b/target-mips/helper.h
index 442f684..1abf582 100644
--- a/target-mips/helper.h
+++ b/target-mips/helper.h
@@ -297,4 +297,156 @@ DEF_HELPER_0(rdhwr_ccres, tl)
 DEF_HELPER_1(pmon, void, int)
 DEF_HELPER_0(wait, void)
 
+/* MIPS32 DSP */
+DEF_HELPER_1(absqsph,       i32,  i32)
+DEF_HELPER_1(absqsw,        i32,  i32)
+DEF_HELPER_2(addqph,        i32,  i32, i32)
+DEF_HELPER_2(addqsph,       i32,  i32, i32)
+DEF_HELPER_2(addqsw,        i32,  i32, i32)
+DEF_HELPER_2(addsc,         i32,  i32, i32)
+DEF_HELPER_2(addwc,         i32,  i32, i32)
+DEF_HELPER_1(bitrev,        i32,  i32)
+DEF_HELPER_2(cmpeqph,       void, i32, i32)
+DEF_HELPER_2(cmpltph,       void, i32, i32)
+DEF_HELPER_2(cmpleph,       void, i32, i32)
+DEF_HELPER_2(cmpgueqqb,     i32,  i32, i32)
+DEF_HELPER_2(cmpgultqb,     i32,  i32, i32)
+DEF_HELPER_2(cmpguleqb,     i32,  i32, i32)
+DEF_HELPER_2(cmpueqqb,      void, i32, i32)
+DEF_HELPER_2(cmpultqb,      void, i32, i32)
+DEF_HELPER_2(cmpuleqb,      void, i32, i32)
+DEF_HELPER_3(dpaqswph,      void, int, i32, i32)
+DEF_HELPER_3(dpaqsalw,      void, int, i32, i32)
+DEF_HELPER_3(dpauhqbl,      void, int, i32, i32)
+DEF_HELPER_3(dpauhqbr,      void, int, i32, i32)
+DEF_HELPER_3(dpsqswph,      void, int, i32, i32)
+DEF_HELPER_3(dpsqsalw,      void, int, i32, i32)
+DEF_HELPER_3(dpsuhqbl,      void, int, i32, i32)
+DEF_HELPER_3(dpsuhqbr,      void, int, i32, i32)
+DEF_HELPER_3(extp,          void, int, int, int)
+DEF_HELPER_3(extpdp,        void, int, int, int)
+DEF_HELPER_3(extpdpv,       void, int, i32, int)
+DEF_HELPER_3(extpv,         void, int, i32, int)
+DEF_HELPER_3(extrsh,        void, int, int, int)
+DEF_HELPER_3(extrw,         void, int, int, int)
+DEF_HELPER_3(extrrw,        void, int, int, int)
+DEF_HELPER_3(extrrsw,       void, int, int, int)
+DEF_HELPER_2(extrvsh,       i32,  int, i32);
+DEF_HELPER_3(extrvw,        void, int, i32, int)
+DEF_HELPER_3(extrvrw,       void, int, i32, int)
+DEF_HELPER_3(extrvrsw,      void, int, i32, int)
+DEF_HELPER_3(insv,          void, int, i32, i32)
+DEF_HELPER_2(lbux,          tl,   tl,  int)
+DEF_HELPER_2(lhx,           i32,  i32, int)
+DEF_HELPER_2(lwx,           i32,  i32, int)
+DEF_HELPER_3(maqswphl,      void, int, i32, i32)
+DEF_HELPER_3(maqsawphl,     void, int, i32, i32)
+DEF_HELPER_3(maqswphr,      void, int, i32, i32)
+DEF_HELPER_3(maqsawphr,     void, int, i32, i32)
+DEF_HELPER_2(modsub,        i32,  i32, i32)
+DEF_HELPER_2(mthlip,        void, int, i32)
+DEF_HELPER_2(muleqswphl,    i32,  i32, i32)
+DEF_HELPER_2(muleqswphr,    i32,  i32, i32)
+DEF_HELPER_2(muleusphqbl,   i32,  i32, i32)
+DEF_HELPER_2(muleusphqbr,   i32,  i32, i32)
+DEF_HELPER_2(mulqrsph,      i32,  i32, i32)
+DEF_HELPER_3(mulsaqswph,    void, int, i32, i32)
+DEF_HELPER_2(packrlph,      i32,  i32, i32)
+DEF_HELPER_2(pickqb,        i32,  i32, i32)
+DEF_HELPER_1(preceqwphl,    i32,  i32)
+DEF_HELPER_2(pickph,        i32,  i32, i32)
+DEF_HELPER_1(preceqwphr,    i32,  i32)
+DEF_HELPER_1(precequphqbl,  i32,  i32)
+DEF_HELPER_1(precequphqbla, i32,  i32)
+DEF_HELPER_1(precequphqbr,  i32,  i32)
+DEF_HELPER_1(precequphqbra, i32,  i32)
+DEF_HELPER_1(preceuphqbl,   i32,  i32)
+DEF_HELPER_1(preceuphqbla,  i32,  i32)
+DEF_HELPER_1(preceuphqbr,   i32,  i32)
+DEF_HELPER_1(preceuphqbra,  i32,  i32)
+DEF_HELPER_2(precrqqbph,    i32,  i32, i32)
+DEF_HELPER_2(precrqphw,     i32,  i32, i32)
+DEF_HELPER_2(precrqrsphw,   i32,  i32, i32)
+DEF_HELPER_2(precrqusqbph,  i32,  i32, i32)
+DEF_HELPER_1(radduwqb,      i32,  i32)
+DEF_HELPER_1(rddsp,         i32,  i32)
+DEF_HELPER_1(replph,        i32,  i32)
+DEF_HELPER_1(replqb,        i32,  i32)
+DEF_HELPER_1(replvph,       i32,  i32)
+DEF_HELPER_1(replvqb,       i32,  i32)
+DEF_HELPER_2(shilo,         void, int, int)
+DEF_HELPER_2(shilov,        void, int, i32)
+DEF_HELPER_2(shllph,        i32,  int, i32)
+DEF_HELPER_2(shllsph,       i32,  int, i32)
+DEF_HELPER_2(shllqb,        i32,  int, i32)
+DEF_HELPER_2(shllsw,        i32,  int, i32)
+DEF_HELPER_2(shllvph,       i32,  i32, i32)
+DEF_HELPER_2(shllvsph,      i32,  i32, i32)
+DEF_HELPER_2(shllvqb,       i32,  i32, i32)
+DEF_HELPER_2(shllvsw,       i32,  i32, i32)
+DEF_HELPER_2(shraph,        i32,  int, i32)
+DEF_HELPER_2(shrarph,       i32,  int, i32)
+DEF_HELPER_2(shrarw,        i32,  int, i32)
+DEF_HELPER_2(shravph,       i32,  i32, i32)
+DEF_HELPER_2(shravrph,      i32,  i32, i32)
+DEF_HELPER_2(shravrw,       i32,  i32, i32)
+DEF_HELPER_2(shrlqb,        i32,  int, i32)
+DEF_HELPER_2(shrlvqb,       i32,  i32, i32)
+DEF_HELPER_2(subqph,        i32,  i32, i32)
+DEF_HELPER_2(subqsph,       i32,  i32, i32)
+DEF_HELPER_2(subqsw,        i32,  i32, i32)
+DEF_HELPER_2(subuqb,        i32,  i32, i32)
+DEF_HELPER_2(subusqb,       i32,  i32, i32)
+DEF_HELPER_2(wrdsp,         void, i32, int)
+
+/* MIPS32 DSPR2 */
+DEF_HELPER_1(absqsqb,      i32,  i32)
+DEF_HELPER_2(addqhph,      i32,  i32, i32)
+DEF_HELPER_2(addqhrph,     i32,  i32, i32)
+DEF_HELPER_2(addqhw,       i32,  i32, i32)
+DEF_HELPER_2(addqhrw,      i32,  i32, i32)
+DEF_HELPER_2(adduhqb,      i32,  i32, i32)
+DEF_HELPER_2(adduhrqb,     i32,  i32, i32)
+DEF_HELPER_2(adduph,       i32,  i32, i32)
+DEF_HELPER_2(addusph,      i32,  i32, i32)
+DEF_HELPER_2(adduqb,       i32,  i32, i32)
+DEF_HELPER_2(addusqb,      i32,  i32, i32)
+DEF_HELPER_3(append,       i32,  i32, i32, int)
+DEF_HELPER_3(balign,       i32,  i32, i32, i32)
+DEF_HELPER_2(cmpgdueqqb,   i32,  i32, i32)
+DEF_HELPER_2(cmpgdultqb,   i32,  i32, i32)
+DEF_HELPER_2(cmpgduleqb,   i32,  i32, i32)
+DEF_HELPER_3(dpawph,       void, int, i32, i32)
+DEF_HELPER_3(dpaqxswph,    void, int, i32, i32)
+DEF_HELPER_3(dpaqxsawph,   void, int, i32, i32)
+DEF_HELPER_3(dpaxwph,      void, int, i32, i32)
+DEF_HELPER_3(dpswph,       void, int, i32, i32)
+DEF_HELPER_3(dpsqxswph,    void, int, i32, i32)
+DEF_HELPER_3(dpsqxsawph,   void, int, i32, i32)
+DEF_HELPER_3(dpsxwph,      void, int, i32, i32)
+DEF_HELPER_2(mulph,        i32,  i32, i32)
+DEF_HELPER_2(mulsph,       i32,  i32, i32)
+DEF_HELPER_2(mulqsph,      i32,  i32, i32)
+DEF_HELPER_2(mulqrsw,      i32,  i32, i32)
+DEF_HELPER_2(mulqsw,       i32,  i32, i32)
+DEF_HELPER_3(mulsawph,     void, int, i32, i32)
+DEF_HELPER_2(precrqbph,    i32,  i32, i32)
+DEF_HELPER_3(precrsraphw,  i32,  int, i32, i32)
+DEF_HELPER_3(precrsrarphw, i32,  int, i32, i32)
+DEF_HELPER_3(prepend,      i32,  int, i32, i32)
+DEF_HELPER_2(shraqb,       i32,  int, i32)
+DEF_HELPER_2(shrarqb,      i32,  int, i32)
+DEF_HELPER_2(shravqb,      i32,  i32, i32)
+DEF_HELPER_2(shravrqb,     i32,  i32, i32)
+DEF_HELPER_2(shrlph,       i32,  int, i32)
+DEF_HELPER_2(shrlvph,      i32,  i32, i32)
+DEF_HELPER_2(subqhph,      i32,  i32, i32)
+DEF_HELPER_2(subqhrph,     i32,  i32, i32)
+DEF_HELPER_2(subqhw,       i32,  i32, i32)
+DEF_HELPER_2(subqhrw,      i32,  i32, i32)
+DEF_HELPER_2(subuph,       i32,  i32, i32)
+DEF_HELPER_2(subusph,      i32,  i32, i32)
+DEF_HELPER_2(subuhqb,      i32,  i32, i32)
+DEF_HELPER_2(subuhrqb,     i32,  i32, i32)
+
 #include "def-helper.h"
-- 
1.7.5.4

  reply	other threads:[~2012-03-12  8:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-12  8:32 [Qemu-devel] [PATCH 0/4] MIPS ASE DSP Support for Qemu Jia Liu
2012-03-12  8:32 ` Jia Liu [this message]
2012-03-21  8:17   ` [Qemu-devel] [PATCH 1/4] add MIPS DSP helpers define Stefan Weil
2012-03-22 13:45     ` Jia Liu
2012-03-12  8:32 ` [Qemu-devel] [PATCH 2/4] add MIPS DSP helpers implement Jia Liu
2012-03-21  8:22   ` Stefan Weil
2012-03-12  8:32 ` [Qemu-devel] [PATCH 3/4] add MIPS DSP translation Jia Liu
2012-03-21  8:33   ` Stefan Weil
2012-03-12  8:32 ` [Qemu-devel] [PATCH 4/4] add MIPS DSP testcase Jia Liu
2012-03-21  8:38   ` Stefan Weil
2012-03-21  0:12 ` [Qemu-devel] [PATCH 0/4] MIPS ASE DSP Support for Qemu Jia Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1331541159-5218-2-git-send-email-proljc@gmail.com \
    --to=proljc@gmail.com \
    --cc=aurelien@aurel32.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).