Am 12.03.2012 09:32, schrieb Jia Liu:

This patch is the testcases of MIPS ASE DSP.

Signed-off-by: Jia Liu <pro...@gmail.com>
---
tests/tcg/mips/mips32-dsp/Makefile | 133 ++++++++++++++++++++++++
tests/tcg/mips/mips32-dsp/absq_s_ph.c | 28 +++++
tests/tcg/mips/mips32-dsp/absq_s_w.c | 35 ++++++
tests/tcg/mips/mips32-dsp/addq_ph.c | 29 +++++
tests/tcg/mips/mips32-dsp/addq_s_ph.c | 29 +++++
tests/tcg/mips/mips32-dsp/addsc.c | 28 +++++
tests/tcg/mips/mips32-dsp/addu_qb.c | 28 +++++
tests/tcg/mips/mips32-dsp/addu_s_qb.c | 28 +++++
tests/tcg/mips/mips32-dsp/addwc.c | 28 +++++
tests/tcg/mips/mips32-dsp/bitrev.c | 18 +++
tests/tcg/mips/mips32-dsp/bposge32.c | 42 ++++++++
tests/tcg/mips/mips32-dsp/cmp_eq_ph.c | 33 ++++++
tests/tcg/mips/mips32-dsp/cmp_le_ph.c | 33 ++++++
tests/tcg/mips/mips32-dsp/cmp_lt_ph.c | 33 ++++++
tests/tcg/mips/mips32-dsp/cmpgu_eq_qb.c | 29 +++++
tests/tcg/mips/mips32-dsp/cmpgu_le_qb.c | 29 +++++
tests/tcg/mips/mips32-dsp/cmpgu_lt_qb.c | 29 +++++
tests/tcg/mips/mips32-dsp/cmpu_eq_qb.c | 33 ++++++
tests/tcg/mips/mips32-dsp/cmpu_le_qb.c | 33 ++++++
tests/tcg/mips/mips32-dsp/cmpu_lt_qb.c | 33 ++++++
tests/tcg/mips/mips32-dsp/dpaq_s_w_ph.c | 29 +++++
tests/tcg/mips/mips32-dsp/dpaq_sa_l_w.c | 29 +++++
tests/tcg/mips/mips32-dsp/dpau_h_qbl.c | 25 +++++
tests/tcg/mips/mips32-dsp/dpau_h_qbr.c | 25 +++++
tests/tcg/mips/mips32-dsp/dpsq_s_w_ph.c | 25 +++++
tests/tcg/mips/mips32-dsp/dpsq_sa_l_w.c | 29 +++++
tests/tcg/mips/mips32-dsp/dpsu_h_qbl.c | 25 +++++
tests/tcg/mips/mips32-dsp/dpsu_h_qbr.c | 25 +++++
tests/tcg/mips/mips32-dsp/extp.c | 42 ++++++++
tests/tcg/mips/mips32-dsp/extpdp.c | 44 ++++++++
tests/tcg/mips/mips32-dsp/extpdpv.c | 45 ++++++++
tests/tcg/mips/mips32-dsp/extpv.c | 43 ++++++++
tests/tcg/mips/mips32-dsp/extr_r_w.c | 23 ++++
tests/tcg/mips/mips32-dsp/extr_rs_w.c | 23 ++++
tests/tcg/mips/mips32-dsp/extr_s_h.c | 23 ++++
tests/tcg/mips/mips32-dsp/extr_w.c | 23 ++++
tests/tcg/mips/mips32-dsp/extrv_r_w.c | 27 +++++
tests/tcg/mips/mips32-dsp/extrv_rs_w.c | 27 +++++
tests/tcg/mips/mips32-dsp/extrv_s_h.c | 27 +++++
tests/tcg/mips/mips32-dsp/extrv_w.c | 27 +++++
tests/tcg/mips/mips32-dsp/insv.c | 21 ++++
tests/tcg/mips/mips32-dsp/lbux.c | 21 ++++
tests/tcg/mips/mips32-dsp/lhx.c | 21 ++++
tests/tcg/mips/mips32-dsp/lwx.c | 21 ++++
tests/tcg/mips/mips32-dsp/madd.c | 29 +++++
tests/tcg/mips/mips32-dsp/maddu.c | 29 +++++
tests/tcg/mips/mips32-dsp/maq_s_w_phl.c | 29 +++++
tests/tcg/mips/mips32-dsp/maq_s_w_phr.c | 29 +++++
tests/tcg/mips/mips32-dsp/maq_sa_w_phl.c | 29 +++++
tests/tcg/mips/mips32-dsp/maq_sa_w_phr.c | 29 +++++
tests/tcg/mips/mips32-dsp/mfhi.c | 19 ++++
tests/tcg/mips/mips32-dsp/mflo.c | 19 ++++
tests/tcg/mips/mips32-dsp/modsub.c | 28 +++++
tests/tcg/mips/mips32-dsp/msub.c | 28 +++++
tests/tcg/mips/mips32-dsp/msubu.c | 28 +++++
tests/tcg/mips/mips32-dsp/mthi.c | 19 ++++
tests/tcg/mips/mips32-dsp/mthlip.c | 32 ++++++
tests/tcg/mips/mips32-dsp/mtlo.c | 19 ++++
tests/tcg/mips/mips32-dsp/muleq_s_w_phr.c | 38 +++++++
tests/tcg/mips/mips32-dsp/muleu_s_ph_qbl.c | 23 ++++
tests/tcg/mips/mips32-dsp/muleu_s_ph_qbr.c | 23 ++++
tests/tcg/mips/mips32-dsp/mulq_rs_ph.c | 23 ++++
tests/tcg/mips/mips32-dsp/mult.c | 22 ++++
tests/tcg/mips/mips32-dsp/multu.c | 22 ++++
tests/tcg/mips/mips32-dsp/packrl_ph.c | 19 ++++
tests/tcg/mips/mips32-dsp/pick_ph.c | 21 ++++
tests/tcg/mips/mips32-dsp/pick_qb.c | 21 ++++
tests/tcg/mips/mips32-dsp/preceq_w_phl.c | 18 +++
tests/tcg/mips/mips32-dsp/preceq_w_phr.c | 18 +++
tests/tcg/mips/mips32-dsp/precequ_ph_qbl.c | 18 +++
tests/tcg/mips/mips32-dsp/precequ_ph_qbla.c | 18 +++
tests/tcg/mips/mips32-dsp/precequ_ph_qbr.c | 18 +++
tests/tcg/mips/mips32-dsp/precequ_ph_qbra.c | 18 +++
tests/tcg/mips/mips32-dsp/preceu_ph_qbl.c | 18 +++
tests/tcg/mips/mips32-dsp/preceu_ph_qbla.c | 18 +++
tests/tcg/mips/mips32-dsp/preceu_ph_qbr.c | 18 +++
tests/tcg/mips/mips32-dsp/preceu_ph_qbra.c | 18 +++
tests/tcg/mips/mips32-dsp/precrq_ph_w.c | 19 ++++
tests/tcg/mips/mips32-dsp/precrq_qb_ph.c | 19 ++++
tests/tcg/mips/mips32-dsp/precrq_rs_ph_w.c | 19 ++++
tests/tcg/mips/mips32-dsp/precrqu_s_qb_ph.c | 19 ++++
tests/tcg/mips/mips32-dsp/raddu_w_qb.c | 18 +++
tests/tcg/mips/mips32-dsp/rddsp.c | 52 +++++++++
tests/tcg/mips/mips32-dsp/repl_ph.c | 21 ++++
tests/tcg/mips/mips32-dsp/repl_qb.c | 14 +++
tests/tcg/mips/mips32-dsp/replv_ph.c | 17 +++
tests/tcg/mips/mips32-dsp/replv_qb.c | 17 +++
tests/tcg/mips/mips32-dsp/shilo.c | 25 +++++
tests/tcg/mips/mips32-dsp/shilov.c | 27 +++++
tests/tcg/mips/mips32-dsp/shll_ph.c | 22 ++++
tests/tcg/mips/mips32-dsp/shll_qb.c | 21 ++++
tests/tcg/mips/mips32-dsp/shll_s_ph.c | 22 ++++
tests/tcg/mips/mips32-dsp/shll_s_w.c | 22 ++++
tests/tcg/mips/mips32-dsp/shllv_ph.c | 23 ++++
tests/tcg/mips/mips32-dsp/shllv_qb.c | 22 ++++
tests/tcg/mips/mips32-dsp/shllv_s_ph.c | 23 ++++
tests/tcg/mips/mips32-dsp/shllv_s_w.c | 23 ++++
tests/tcg/mips/mips32-dsp/shra_ph.c | 18 +++
tests/tcg/mips/mips32-dsp/shra_r_ph.c | 18 +++
tests/tcg/mips/mips32-dsp/shra_r_w.c | 18 +++
tests/tcg/mips/mips32-dsp/shrav_ph.c | 19 ++++
tests/tcg/mips/mips32-dsp/shrav_r_ph.c | 19 ++++
tests/tcg/mips/mips32-dsp/shrav_r_w.c | 19 ++++
tests/tcg/mips/mips32-dsp/shrl_qb.c | 18 +++
tests/tcg/mips/mips32-dsp/shrlv_qb.c | 19 ++++
tests/tcg/mips/mips32-dsp/subq_ph.c | 23 ++++
tests/tcg/mips/mips32-dsp/subq_s_ph.c | 23 ++++
tests/tcg/mips/mips32-dsp/subq_s_w.c | 23 ++++
tests/tcg/mips/mips32-dsp/subu_qb.c | 23 ++++
tests/tcg/mips/mips32-dsp/subu_s_qb.c | 23 ++++
tests/tcg/mips/mips32-dsp/wrdsp.c | 52 +++++++++
tests/tcg/mips/mips32-dspr2/Makefile | 71 +++++++++++++
tests/tcg/mips/mips32-dspr2/absq_s_qb.c | 29 +++++
tests/tcg/mips/mips32-dspr2/addqh_ph.c | 28 +++++
tests/tcg/mips/mips32-dspr2/addqh_r_ph.c | 28 +++++
tests/tcg/mips/mips32-dspr2/addqh_r_w.c | 32 ++++++
tests/tcg/mips/mips32-dspr2/addqh_w.c | 32 ++++++
tests/tcg/mips/mips32-dspr2/addu_ph.c | 28 +++++
tests/tcg/mips/mips32-dspr2/addu_s_ph.c | 28 +++++
tests/tcg/mips/mips32-dspr2/adduh_qb.c | 28 +++++
tests/tcg/mips/mips32-dspr2/adduh_r_qb.c | 28 +++++
tests/tcg/mips/mips32-dspr2/append.c | 28 +++++
tests/tcg/mips/mips32-dspr2/balign.c | 28 +++++
tests/tcg/mips/mips32-dspr2/cmpgdu_eq_qb.c | 35 ++++++
tests/tcg/mips/mips32-dspr2/cmpgdu_le_qb.c | 35 ++++++
tests/tcg/mips/mips32-dspr2/cmpgdu_lt_qb.c | 35 ++++++
tests/tcg/mips/mips32-dspr2/dpa_w_ph.c | 25 +++++
tests/tcg/mips/mips32-dspr2/dpaqx_s_w_ph.c | 55 ++++++++++
tests/tcg/mips/mips32-dspr2/dpaqx_sa_w_ph.c | 28 +++++
tests/tcg/mips/mips32-dspr2/dpax_w_ph.c | 25 +++++
tests/tcg/mips/mips32-dspr2/dps_w_ph.c | 25 +++++
tests/tcg/mips/mips32-dspr2/dpsqx_s_w_ph.c | 29 +++++
tests/tcg/mips/mips32-dspr2/dpsqx_sa_w_ph.c | 29 +++++
tests/tcg/mips/mips32-dspr2/dpsx_w_ph.c | 25 +++++
tests/tcg/mips/mips32-dspr2/mul_ph.c | 23 ++++
tests/tcg/mips/mips32-dspr2/mul_s_ph.c | 23 ++++
tests/tcg/mips/mips32-dspr2/muleq_s_w_phl.c | 38 +++++++
tests/tcg/mips/mips32-dspr2/mulq_rs_w.c | 34 ++++++
tests/tcg/mips/mips32-dspr2/mulq_s_ph.c | 23 ++++
tests/tcg/mips/mips32-dspr2/mulq_s_w.c | 34 ++++++
tests/tcg/mips/mips32-dspr2/mulsa_w_ph.c | 27 +++++
tests/tcg/mips/mips32-dspr2/mulsaq_s_w_ph.c | 27 +++++
tests/tcg/mips/mips32-dspr2/precr_qb_ph.c | 19 ++++
tests/tcg/mips/mips32-dspr2/precr_sra_ph_w.c | 30 ++++++
tests/tcg/mips/mips32-dspr2/precr_sra_r_ph_w.c | 30 ++++++
tests/tcg/mips/mips32-dspr2/prepend.c | 28 +++++
tests/tcg/mips/mips32-dspr2/shra_qb.c | 28 +++++
tests/tcg/mips/mips32-dspr2/shra_r_qb.c | 28 +++++
tests/tcg/mips/mips32-dspr2/shrav_qb.c | 30 ++++++
tests/tcg/mips/mips32-dspr2/shrav_r_qb.c | 30 ++++++
tests/tcg/mips/mips32-dspr2/shrl_ph.c | 18 +++
tests/tcg/mips/mips32-dspr2/shrlv_ph.c | 19 ++++
tests/tcg/mips/mips32-dspr2/subqh_ph.c | 19 ++++
tests/tcg/mips/mips32-dspr2/subqh_r_ph.c | 19 ++++
tests/tcg/mips/mips32-dspr2/subqh_r_w.c | 19 ++++
tests/tcg/mips/mips32-dspr2/subqh_w.c | 19 ++++
tests/tcg/mips/mips32-dspr2/subu_ph.c | 23 ++++
tests/tcg/mips/mips32-dspr2/subu_s_ph.c | 23 ++++
tests/tcg/mips/mips32-dspr2/subuh_qb.c | 19 ++++
tests/tcg/mips/mips32-dspr2/subuh_r_qb.c | 19 ++++
160 files changed, 4282 insertions(+), 0 deletions(-)
create mode 100644 tests/tcg/mips/mips32-dsp/Makefile
create mode 100644 tests/tcg/mips/mips32-dsp/absq_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/absq_s_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/addq_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/addq_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/addsc.c
create mode 100644 tests/tcg/mips/mips32-dsp/addu_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/addu_s_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/addwc.c
create mode 100644 tests/tcg/mips/mips32-dsp/bitrev.c
create mode 100644 tests/tcg/mips/mips32-dsp/bposge32.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmp_eq_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmp_le_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmp_lt_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmpgu_eq_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmpgu_le_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmpgu_lt_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmpu_eq_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmpu_le_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/cmpu_lt_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/dpaq_s_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/dpaq_sa_l_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/dpau_h_qbl.c
create mode 100644 tests/tcg/mips/mips32-dsp/dpau_h_qbr.c
create mode 100644 tests/tcg/mips/mips32-dsp/dpsq_s_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/dpsq_sa_l_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/dpsu_h_qbl.c
create mode 100644 tests/tcg/mips/mips32-dsp/dpsu_h_qbr.c
create mode 100644 tests/tcg/mips/mips32-dsp/extp.c
create mode 100644 tests/tcg/mips/mips32-dsp/extpdp.c
create mode 100644 tests/tcg/mips/mips32-dsp/extpdpv.c
create mode 100644 tests/tcg/mips/mips32-dsp/extpv.c
create mode 100644 tests/tcg/mips/mips32-dsp/extr_r_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/extr_rs_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/extr_s_h.c
create mode 100644 tests/tcg/mips/mips32-dsp/extr_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/extrv_r_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/extrv_rs_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/extrv_s_h.c
create mode 100644 tests/tcg/mips/mips32-dsp/extrv_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/insv.c
create mode 100644 tests/tcg/mips/mips32-dsp/lbux.c
create mode 100644 tests/tcg/mips/mips32-dsp/lhx.c
create mode 100644 tests/tcg/mips/mips32-dsp/lwx.c
create mode 100644 tests/tcg/mips/mips32-dsp/madd.c
create mode 100644 tests/tcg/mips/mips32-dsp/maddu.c
create mode 100644 tests/tcg/mips/mips32-dsp/maq_s_w_phl.c
create mode 100644 tests/tcg/mips/mips32-dsp/maq_s_w_phr.c
create mode 100644 tests/tcg/mips/mips32-dsp/maq_sa_w_phl.c
create mode 100644 tests/tcg/mips/mips32-dsp/maq_sa_w_phr.c
create mode 100644 tests/tcg/mips/mips32-dsp/mfhi.c
create mode 100644 tests/tcg/mips/mips32-dsp/mflo.c
create mode 100644 tests/tcg/mips/mips32-dsp/modsub.c
create mode 100644 tests/tcg/mips/mips32-dsp/msub.c
create mode 100644 tests/tcg/mips/mips32-dsp/msubu.c
create mode 100644 tests/tcg/mips/mips32-dsp/mthi.c
create mode 100644 tests/tcg/mips/mips32-dsp/mthlip.c
create mode 100644 tests/tcg/mips/mips32-dsp/mtlo.c
create mode 100644 tests/tcg/mips/mips32-dsp/muleq_s_w_phr.c
create mode 100644 tests/tcg/mips/mips32-dsp/muleu_s_ph_qbl.c
create mode 100644 tests/tcg/mips/mips32-dsp/muleu_s_ph_qbr.c
create mode 100644 tests/tcg/mips/mips32-dsp/mulq_rs_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/mult.c
create mode 100644 tests/tcg/mips/mips32-dsp/multu.c
create mode 100644 tests/tcg/mips/mips32-dsp/packrl_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/pick_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/pick_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/preceq_w_phl.c
create mode 100644 tests/tcg/mips/mips32-dsp/preceq_w_phr.c
create mode 100644 tests/tcg/mips/mips32-dsp/precequ_ph_qbl.c
create mode 100644 tests/tcg/mips/mips32-dsp/precequ_ph_qbla.c
create mode 100644 tests/tcg/mips/mips32-dsp/precequ_ph_qbr.c
create mode 100644 tests/tcg/mips/mips32-dsp/precequ_ph_qbra.c
create mode 100644 tests/tcg/mips/mips32-dsp/preceu_ph_qbl.c
create mode 100644 tests/tcg/mips/mips32-dsp/preceu_ph_qbla.c
create mode 100644 tests/tcg/mips/mips32-dsp/preceu_ph_qbr.c
create mode 100644 tests/tcg/mips/mips32-dsp/preceu_ph_qbra.c
create mode 100644 tests/tcg/mips/mips32-dsp/precrq_ph_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/precrq_qb_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/precrq_rs_ph_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/precrqu_s_qb_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/raddu_w_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/rddsp.c
create mode 100644 tests/tcg/mips/mips32-dsp/repl_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/repl_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/replv_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/replv_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/shilo.c
create mode 100644 tests/tcg/mips/mips32-dsp/shilov.c
create mode 100644 tests/tcg/mips/mips32-dsp/shll_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/shll_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/shll_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/shll_s_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/shllv_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/shllv_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/shllv_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/shllv_s_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/shra_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/shra_r_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/shra_r_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/shrav_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/shrav_r_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/shrav_r_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/shrl_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/shrlv_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/subq_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/subq_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dsp/subq_s_w.c
create mode 100644 tests/tcg/mips/mips32-dsp/subu_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/subu_s_qb.c
create mode 100644 tests/tcg/mips/mips32-dsp/wrdsp.c
create mode 100644 tests/tcg/mips/mips32-dspr2/Makefile
create mode 100644 tests/tcg/mips/mips32-dspr2/absq_s_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/addqh_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/addqh_r_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/addqh_r_w.c
create mode 100644 tests/tcg/mips/mips32-dspr2/addqh_w.c
create mode 100644 tests/tcg/mips/mips32-dspr2/addu_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/addu_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/adduh_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/adduh_r_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/append.c
create mode 100644 tests/tcg/mips/mips32-dspr2/balign.c
create mode 100644 tests/tcg/mips/mips32-dspr2/cmpgdu_eq_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/cmpgdu_le_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/cmpgdu_lt_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/dpa_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/dpaqx_s_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/dpaqx_sa_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/dpax_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/dps_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/dpsqx_s_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/dpsqx_sa_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/dpsx_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/mul_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/mul_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/muleq_s_w_phl.c
create mode 100644 tests/tcg/mips/mips32-dspr2/mulq_rs_w.c
create mode 100644 tests/tcg/mips/mips32-dspr2/mulq_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/mulq_s_w.c
create mode 100644 tests/tcg/mips/mips32-dspr2/mulsa_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/mulsaq_s_w_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/precr_qb_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/precr_sra_ph_w.c
create mode 100644 tests/tcg/mips/mips32-dspr2/precr_sra_r_ph_w.c
create mode 100644 tests/tcg/mips/mips32-dspr2/prepend.c
create mode 100644 tests/tcg/mips/mips32-dspr2/shra_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/shra_r_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/shrav_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/shrav_r_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/shrl_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/shrlv_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/subqh_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/subqh_r_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/subqh_r_w.c
create mode 100644 tests/tcg/mips/mips32-dspr2/subqh_w.c
create mode 100644 tests/tcg/mips/mips32-dspr2/subu_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/subu_s_ph.c
create mode 100644 tests/tcg/mips/mips32-dspr2/subuh_qb.c
create mode 100644 tests/tcg/mips/mips32-dspr2/subuh_r_qb.c

diff --git a/tests/tcg/mips/mips32-dsp/Makefile b/tests/tcg/mips/mips32-dsp/Makefile
new file mode 100644
index 0000000..ee8a386
--- /dev/null
+++ b/tests/tcg/mips/mips32-dsp/Makefile
@@ -0,0 +1,133 @@
+-include ../../config-host.mak
+
+CROSS=mipsel-unknown-linux-gnu-
+
+SIM=qemu-mipsel
+
+CC = $(CROSS)gcc
+CFLAGS = -march=mips32r2 -mgp32 -mdsp -static
+
+TESTCASES = absq_s_ph.tst
+TESTCASES += absq_s_w.tst
+TESTCASES += addq_ph.tst
+TESTCASES += addq_s_ph.tst
+TESTCASES += addsc.tst
+TESTCASES += addu_qb.tst
+TESTCASES += addu_s_qb.tst
+TESTCASES += addwc.tst
+TESTCASES += bitrev.tst
+TESTCASES += bposge32.tst
+TESTCASES += cmp_eq_ph.tst
+TESTCASES += cmpgu_eq_qb.tst
+TESTCASES += cmpgu_le_qb.tst
+TESTCASES += cmpgu_lt_qb.tst
+TESTCASES += cmp_le_ph.tst
+TESTCASES += cmp_lt_ph.tst
+TESTCASES += cmpu_eq_qb.tst
+TESTCASES += cmpu_le_qb.tst
+TESTCASES += cmpu_lt_qb.tst
+TESTCASES += dpaq_sa_l_w.tst
+TESTCASES += dpaq_s_w_ph.tst
+TESTCASES += dpau_h_qbl.tst
+TESTCASES += dpau_h_qbr.tst
+TESTCASES += dpsq_sa_l_w.tst
+TESTCASES += dpsq_s_w_ph.tst
+TESTCASES += dpsu_h_qbl.tst
+TESTCASES += dpsu_h_qbr.tst
+TESTCASES += extp.tst
+TESTCASES += extpdp.tst
+TESTCASES += extpdpv.tst
+TESTCASES += extpv.tst
+TESTCASES += extr_rs_w.tst
+TESTCASES += extr_r_w.tst
+TESTCASES += extr_s_h.tst
+TESTCASES += extrv_rs_w.tst
+TESTCASES += extrv_r_w.tst
+TESTCASES += extrv_s_h.tst
+TESTCASES += extrv_w.tst
+TESTCASES += extr_w.tst
+TESTCASES += insv.tst
+TESTCASES += lbux.tst
+TESTCASES += lhx.tst
+TESTCASES += lwx.tst
+TESTCASES += madd.tst
+TESTCASES += maddu.tst
+TESTCASES += maq_sa_w_phl.tst
+TESTCASES += maq_sa_w_phr.tst
+TESTCASES += maq_s_w_phl.tst
+TESTCASES += maq_s_w_phr.tst
+TESTCASES += mfhi.tst
+TESTCASES += mflo.tst
+TESTCASES += modsub.tst
+TESTCASES += msub.tst
+TESTCASES += msubu.tst
+TESTCASES += mthi.tst
+TESTCASES += mthlip.tst
+TESTCASES += mtlo.tst
+TESTCASES += muleq_s_w_phr.tst
+TESTCASES += muleu_s_ph_qbl.tst
+TESTCASES += muleu_s_ph_qbr.tst
+TESTCASES += mulq_rs_ph.tst
+TESTCASES += mult.tst
+TESTCASES += multu.tst
+TESTCASES += packrl_ph.tst
+TESTCASES += pick_ph.tst
+TESTCASES += pick_qb.tst
+TESTCASES += precequ_ph_qbla.tst
+TESTCASES += precequ_ph_qbl.tst
+TESTCASES += precequ_ph_qbra.tst
+TESTCASES += precequ_ph_qbr.tst
+TESTCASES += preceq_w_phl.tst
+TESTCASES += preceq_w_phr.tst
+TESTCASES += preceu_ph_qbla.tst
+TESTCASES += preceu_ph_qbl.tst
+TESTCASES += preceu_ph_qbra.tst
+TESTCASES += preceu_ph_qbr.tst
+TESTCASES += precrq_ph_w.tst
+TESTCASES += precrq_qb_ph.tst
+TESTCASES += precrq_rs_ph_w.tst
+TESTCASES += precrqu_s_qb_ph.tst
+TESTCASES += raddu_w_qb.tst
+TESTCASES += rddsp.tst
+TESTCASES += repl_ph.tst
+TESTCASES += repl_qb.tst
+TESTCASES += replv_ph.tst
+TESTCASES += replv_qb.tst
+TESTCASES += shilo.tst
+TESTCASES += shilov.tst
+TESTCASES += shll_ph.tst
+TESTCASES += shll_qb.tst
+TESTCASES += shll_s_ph.tst
+TESTCASES += shll_s_w.tst
+TESTCASES += shllv_ph.tst
+TESTCASES += shllv_qb.tst
+TESTCASES += shllv_s_ph.tst
+TESTCASES += shllv_s_w.tst
+TESTCASES += shra_ph.tst
+TESTCASES += shra_r_ph.tst
+TESTCASES += shra_r_w.tst
+TESTCASES += shrav_ph.tst
+TESTCASES += shrav_r_ph.tst
+TESTCASES += shrav_r_w.tst
+TESTCASES += shrl_qb.tst
+TESTCASES += shrlv_qb.tst
+TESTCASES += subq_ph.tst
+TESTCASES += subq_s_ph.tst
+TESTCASES += subq_s_w.tst
+TESTCASES += subu_qb.tst
+TESTCASES += subu_s_qb.tst
+TESTCASES += wrdsp.tst
+
+all: $(TESTCASES)
+
+%.tst: %.c
+ $(CC) $(CFLAGS) $< -o $@
+
+check: $(TESTCASES)
+ @for case in $(TESTCASES); do \
+ echo $(SIM) ./$$case;\
+ $(SIM) ./$$case; \
+ done
+
+clean:
+ $(RM) -rf $(TESTCASES)
diff --git a/tests/tcg/mips/mips32-dsp/absq_s_ph.c b/tests/tcg/mips/mips32-dsp/absq_s_ph.c
new file mode 100644
index 0000000..a3e0bd7
--- /dev/null
+++ b/tests/tcg/mips/mips32-dsp/absq_s_ph.c
@@ -0,0 +1,28 @@
+#include<stdio.h>
+#include<assert.h>
+
+int main()
+{
+ int rd, rt;
+ int result;
+
+ rt = 0x10017EFD;
+ result = 0x10017EFD;
+
+ __asm volatile
+ ("absq_s.ph %0, %1\n\t"
+ :"=r"(rd)
+ :"r"(rt)
+ );
+ assert(rd == result);
+
+ rt = 0x8000A536;
+ result = 0x7FFF5ACA;
+
+ __asm volatile
+ ("absq_s.ph %0, %1\n\t"
+ :"=r"(rd)
+ :"r"(rt)
+ );
+ assert(rd == result);
+}

[snip]

All main functions here are declared to return an int value, but I don't see
a return statement. I'd expect that gcc shows a warning. Does the code compile
without warnings?

Regards,
Stefan Weil


Reply via email to