This patch is the helper define of MIPS ASE DSP. Signed-off-by: Jia Liu <pro...@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