I'm glad we have many MIPS tests but they are in too many files, taking time to get compiled. In particular on Aarch64 host via x86_64 docker image... Group the test in order to reduce CI build time.
But per v1 review "We can't trade usability for faster compilation", so convert to run one test at a time -- not exiting on the first assert() -- and use TAP protocol to get integrated with meson. For example we can now list each opcode as a TAP subtest with: $ meson test --suite tcg-mipsel -v Now as a maintainer I can relax a bit :) Since v1: - TAP (pbo) - no more assert (pbo) - split per group - MSA ld/st tests Based-on: <[email protected]> Philippe Mathieu-Daudé (31): tests/tcg/mips: Group DSP acc tests tests/tcg/mips: Group DSP arith tests tests/tcg/mips: Group DSP cmp tests tests/tcg/mips: Group DSP ctrl tests tests/tcg/mips: Group DSP dot tests tests/tcg/mips: Group DSP mul tests tests/tcg/mips: Group DSP pack tests tests/tcg/mips: Group DSP shift tests tests/tcg/mips: Group Release 6 bitops tests tests/tcg/mips: Group Release 6 crc tests tests/tcg/mips: Group Release 6 logic tests tests/tcg/mips: Group Release 6 multiply tests tests/tcg/mips: Group Release 6 shift tests tests/tcg/mips: Group MSA bit-count tests tests/tcg/mips: Group MSA bit-move tests tests/tcg/mips: Group MSA bit-set tests tests/tcg/mips: Group MSA fixed-multiply tests tests/tcg/mips: Group MSA float-max-min tests tests/tcg/mips: Group MSA int-add tests tests/tcg/mips: Group MSA int-average tests tests/tcg/mips: Group MSA int-compare tests tests/tcg/mips: Group MSA int-div-mod tests tests/tcg/mips: Group MSA int-dot-product tests tests/tcg/mips: Group MSA int-max-min tests tests/tcg/mips: Group MSA int-multiply tests tests/tcg/mips: Group MSA int-subtract tests tests/tcg/mips: Group MSA interleave tests tests/tcg/mips: Group MSA logic tests tests/tcg/mips: Group MSA pack tests tests/tcg/mips: Group MSA shift tests tests/tcg/mips: Add MSA load/store tests tests/tcg/mips/include/test_utils_128.h | 2 +- tests/tcg/mips/include/test_utils_64.h | 6 +- tests/tcg/mipsel/test_dsp_runner.h | 39 +++ tests/tcg/mips/test_msa_bit_count.c | 103 +++++++ tests/tcg/mips/test_msa_bit_move.c | 97 ++++++ tests/tcg/mips/test_msa_bit_set.c | 103 +++++++ tests/tcg/mips/test_msa_fixed_multiply.c | 103 +++++++ tests/tcg/mips/test_msa_float_max_min.c | 79 +++++ tests/tcg/mips/test_msa_int_add.c | 187 ++++++++++++ tests/tcg/mips/test_msa_int_average.c | 127 ++++++++ tests/tcg/mips/test_msa_int_compare.c | 151 ++++++++++ tests/tcg/mips/test_msa_int_div_mod.c | 127 ++++++++ tests/tcg/mips/test_msa_int_dot_product.c | 139 +++++++++ tests/tcg/mips/test_msa_int_max_min.c | 175 +++++++++++ tests/tcg/mips/test_msa_int_multiply.c | 103 +++++++ tests/tcg/mips/test_msa_int_subtract.c | 235 +++++++++++++++ tests/tcg/mips/test_msa_interleave.c | 127 ++++++++ tests/tcg/mips/test_msa_load_store.c | 166 +++++++++++ tests/tcg/mips/test_msa_logic.c | 61 ++++ tests/tcg/mips/test_msa_pack.c | 103 +++++++ tests/tcg/mips/test_msa_shift.c | 151 ++++++++++ tests/tcg/mips64/test_mips64r6_bitops.c | 62 ++++ tests/tcg/mips64/test_mips64r6_crc.c | 74 +++++ tests/tcg/mips64/test_mips64r6_logic.c | 50 ++++ tests/tcg/mips64/test_mips64r6_multiply.c | 74 +++++ tests/tcg/mips64/test_mips64r6_shift.c | 62 ++++ tests/tcg/mipsel/test_dsp_acc.c | 112 +++++++ tests/tcg/mipsel/test_dsp_arith.c | 182 ++++++++++++ tests/tcg/mipsel/test_dsp_cmp.c | 87 ++++++ tests/tcg/mipsel/test_dsp_ctrl.c | 47 +++ tests/tcg/mipsel/test_dsp_dot.c | 157 ++++++++++ tests/tcg/mipsel/test_dsp_mul.c | 67 +++++ tests/tcg/mipsel/test_dsp_pack.c | 152 ++++++++++ tests/tcg/mipsel/test_dsp_r1_absq_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_absq_s_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_addq_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_addq_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_addq_s_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_addsc.c | 1 - tests/tcg/mipsel/test_dsp_r1_addu_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_addu_s_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_addwc.c | 1 - tests/tcg/mipsel/test_dsp_r1_bitrev.c | 1 - tests/tcg/mipsel/test_dsp_r1_bposge32.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmp_eq_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmp_le_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmp_lt_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmpgu_eq_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmpgu_le_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmpgu_lt_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmpu_eq_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmpu_le_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_cmpu_lt_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_dpaq_s_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_dpaq_sa_l_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_dpau_h_qbl.c | 1 - tests/tcg/mipsel/test_dsp_r1_dpau_h_qbr.c | 1 - tests/tcg/mipsel/test_dsp_r1_dpsq_s_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_dpsq_sa_l_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_dpsu_h_qbl.c | 1 - tests/tcg/mipsel/test_dsp_r1_dpsu_h_qbr.c | 1 - tests/tcg/mipsel/test_dsp_r1_extp.c | 1 - tests/tcg/mipsel/test_dsp_r1_extpdp.c | 1 - tests/tcg/mipsel/test_dsp_r1_extpdpv.c | 1 - tests/tcg/mipsel/test_dsp_r1_extpv.c | 1 - tests/tcg/mipsel/test_dsp_r1_extr_r_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_extr_rs_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_extr_s_h.c | 1 - tests/tcg/mipsel/test_dsp_r1_extr_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_extrv_r_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_extrv_rs_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_extrv_s_h.c | 1 - tests/tcg/mipsel/test_dsp_r1_extrv_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_insv.c | 1 - tests/tcg/mipsel/test_dsp_r1_lbux.c | 1 - tests/tcg/mipsel/test_dsp_r1_lhx.c | 1 - tests/tcg/mipsel/test_dsp_r1_lwx.c | 1 - tests/tcg/mipsel/test_dsp_r1_madd.c | 1 - tests/tcg/mipsel/test_dsp_r1_maddu.c | 1 - tests/tcg/mipsel/test_dsp_r1_main.c | 6 - tests/tcg/mipsel/test_dsp_r1_maq_s_w_phl.c | 1 - tests/tcg/mipsel/test_dsp_r1_maq_s_w_phr.c | 1 - tests/tcg/mipsel/test_dsp_r1_maq_sa_w_phl.c | 1 - tests/tcg/mipsel/test_dsp_r1_maq_sa_w_phr.c | 1 - tests/tcg/mipsel/test_dsp_r1_mfhi.c | 1 - tests/tcg/mipsel/test_dsp_r1_mflo.c | 1 - tests/tcg/mipsel/test_dsp_r1_modsub.c | 1 - tests/tcg/mipsel/test_dsp_r1_msub.c | 1 - tests/tcg/mipsel/test_dsp_r1_msubu.c | 1 - tests/tcg/mipsel/test_dsp_r1_mthi.c | 1 - tests/tcg/mipsel/test_dsp_r1_mthlip.c | 1 - tests/tcg/mipsel/test_dsp_r1_mtlo.c | 1 - tests/tcg/mipsel/test_dsp_r1_muleq_s_w_phl.c | 1 - tests/tcg/mipsel/test_dsp_r1_muleq_s_w_phr.c | 1 - tests/tcg/mipsel/test_dsp_r1_muleu_s_ph_qbl.c | 1 - tests/tcg/mipsel/test_dsp_r1_muleu_s_ph_qbr.c | 1 - tests/tcg/mipsel/test_dsp_r1_mulq_rs_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_mult.c | 1 - tests/tcg/mipsel/test_dsp_r1_multu.c | 1 - tests/tcg/mipsel/test_dsp_r1_packrl_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_pick_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_pick_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_preceq_w_phl.c | 1 - tests/tcg/mipsel/test_dsp_r1_preceq_w_phr.c | 1 - tests/tcg/mipsel/test_dsp_r1_precequ_ph_qbl.c | 1 - .../tcg/mipsel/test_dsp_r1_precequ_ph_qbla.c | 1 - tests/tcg/mipsel/test_dsp_r1_precequ_ph_qbr.c | 1 - .../tcg/mipsel/test_dsp_r1_precequ_ph_qbra.c | 1 - tests/tcg/mipsel/test_dsp_r1_preceu_ph_qbl.c | 1 - tests/tcg/mipsel/test_dsp_r1_preceu_ph_qbla.c | 1 - tests/tcg/mipsel/test_dsp_r1_preceu_ph_qbr.c | 1 - tests/tcg/mipsel/test_dsp_r1_preceu_ph_qbra.c | 1 - tests/tcg/mipsel/test_dsp_r1_precrq_ph_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_precrq_qb_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_precrq_rs_ph_w.c | 1 - .../tcg/mipsel/test_dsp_r1_precrqu_s_qb_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_raddu_w_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_rddsp.c | 1 - tests/tcg/mipsel/test_dsp_r1_repl_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_repl_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_replv_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_replv_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_shilo.c | 1 - tests/tcg/mipsel/test_dsp_r1_shilov.c | 1 - tests/tcg/mipsel/test_dsp_r1_shll_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_shll_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_shll_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_shll_s_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_shllv_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_shllv_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_shllv_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_shllv_s_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_shra_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_shra_r_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_shra_r_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_shrav_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_shrav_r_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_shrav_r_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_shrl_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_shrlv_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_subq_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_subq_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r1_subq_s_w.c | 1 - tests/tcg/mipsel/test_dsp_r1_subu_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_subu_s_qb.c | 1 - tests/tcg/mipsel/test_dsp_r1_wrdsp.c | 1 - tests/tcg/mipsel/test_dsp_r2_absq_s_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_addqh_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_addqh_r_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_addqh_r_w.c | 1 - tests/tcg/mipsel/test_dsp_r2_addqh_w.c | 1 - tests/tcg/mipsel/test_dsp_r2_addu_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_addu_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_adduh_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_adduh_r_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_append.c | 1 - tests/tcg/mipsel/test_dsp_r2_balign.c | 1 - tests/tcg/mipsel/test_dsp_r2_cmpgdu_eq_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_cmpgdu_le_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_cmpgdu_lt_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_dpa_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_dpaqx_s_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_dpaqx_sa_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_dpax_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_dps_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_dpsqx_s_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_dpsqx_sa_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_dpsx_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_mul_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_mul_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_mulq_rs_w.c | 1 - tests/tcg/mipsel/test_dsp_r2_mulq_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_mulq_s_w.c | 1 - tests/tcg/mipsel/test_dsp_r2_mulsa_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_mulsaq_s_w_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_precr_qb_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_precr_sra_ph_w.c | 1 - .../tcg/mipsel/test_dsp_r2_precr_sra_r_ph_w.c | 1 - tests/tcg/mipsel/test_dsp_r2_prepend.c | 1 - tests/tcg/mipsel/test_dsp_r2_shra_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_shra_r_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_shrav_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_shrav_r_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_shrl_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_shrlv_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_subqh_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_subqh_r_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_subqh_r_w.c | 1 - tests/tcg/mipsel/test_dsp_r2_subqh_w.c | 1 - tests/tcg/mipsel/test_dsp_r2_subu_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_subu_s_ph.c | 1 - tests/tcg/mipsel/test_dsp_r2_subuh_qb.c | 1 - tests/tcg/mipsel/test_dsp_r2_subuh_r_qb.c | 1 - tests/tcg/mipsel/test_dsp_shift.c | 127 ++++++++ tests/tcg/mips/meson.build | 277 ------------------ tests/tcg/mips64/meson.build | 63 ++-- tests/tcg/mipsel/meson.build | 193 ++---------- 197 files changed, 3694 insertions(+), 641 deletions(-) create mode 100644 tests/tcg/mipsel/test_dsp_runner.h create mode 100644 tests/tcg/mips/test_msa_bit_count.c create mode 100644 tests/tcg/mips/test_msa_bit_move.c create mode 100644 tests/tcg/mips/test_msa_bit_set.c create mode 100644 tests/tcg/mips/test_msa_fixed_multiply.c create mode 100644 tests/tcg/mips/test_msa_float_max_min.c create mode 100644 tests/tcg/mips/test_msa_int_add.c create mode 100644 tests/tcg/mips/test_msa_int_average.c create mode 100644 tests/tcg/mips/test_msa_int_compare.c create mode 100644 tests/tcg/mips/test_msa_int_div_mod.c create mode 100644 tests/tcg/mips/test_msa_int_dot_product.c create mode 100644 tests/tcg/mips/test_msa_int_max_min.c create mode 100644 tests/tcg/mips/test_msa_int_multiply.c create mode 100644 tests/tcg/mips/test_msa_int_subtract.c create mode 100644 tests/tcg/mips/test_msa_interleave.c create mode 100644 tests/tcg/mips/test_msa_load_store.c create mode 100644 tests/tcg/mips/test_msa_logic.c create mode 100644 tests/tcg/mips/test_msa_pack.c create mode 100644 tests/tcg/mips/test_msa_shift.c create mode 100644 tests/tcg/mips64/test_mips64r6_bitops.c create mode 100644 tests/tcg/mips64/test_mips64r6_crc.c create mode 100644 tests/tcg/mips64/test_mips64r6_logic.c create mode 100644 tests/tcg/mips64/test_mips64r6_multiply.c create mode 100644 tests/tcg/mips64/test_mips64r6_shift.c create mode 100644 tests/tcg/mipsel/test_dsp_acc.c create mode 100644 tests/tcg/mipsel/test_dsp_arith.c create mode 100644 tests/tcg/mipsel/test_dsp_cmp.c create mode 100644 tests/tcg/mipsel/test_dsp_ctrl.c create mode 100644 tests/tcg/mipsel/test_dsp_dot.c create mode 100644 tests/tcg/mipsel/test_dsp_mul.c create mode 100644 tests/tcg/mipsel/test_dsp_pack.c delete mode 100644 tests/tcg/mipsel/test_dsp_r1_main.c create mode 100644 tests/tcg/mipsel/test_dsp_shift.c -- 2.55.0
