From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:32827) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S70gx-0004K8-Dh for qemu-devel@nongnu.org; Mon, 12 Mar 2012 04:33:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S70gp-00036b-EJ for qemu-devel@nongnu.org; Mon, 12 Mar 2012 04:33:18 -0400 Received: from mail-iy0-f173.google.com ([209.85.210.173]:52135) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S70gp-00035p-70 for qemu-devel@nongnu.org; Mon, 12 Mar 2012 04:33:11 -0400 Received: by mail-iy0-f173.google.com with SMTP id j26so7248932iaf.4 for ; Mon, 12 Mar 2012 01:33:10 -0700 (PDT) From: Jia Liu Date: Mon, 12 Mar 2012 16:32:36 +0800 Message-Id: <1331541159-5218-2-git-send-email-proljc@gmail.com> In-Reply-To: <1331541159-5218-1-git-send-email-proljc@gmail.com> References: <1331541159-5218-1-git-send-email-proljc@gmail.com> Content-Type: text/plain; charset="utf-8" Subject: [Qemu-devel] [PATCH 1/4] add MIPS DSP helpers define List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aurelien@aurel32.net This patch is the helper define of MIPS ASE DSP. Signed-off-by: Jia Liu --- 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