qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 1/4] add MIPS DSP helpers define


From: Jia Liu
Subject: [Qemu-devel] [PATCH 1/4] add MIPS DSP helpers define
Date: Mon, 12 Mar 2012 16:32:36 +0800

This patch is the helper define of MIPS ASE DSP.

Signed-off-by: Jia Liu <address@hidden>
---
 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 via email to

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