diff options
Diffstat (limited to 'tests/tcg/mips/include')
-rw-r--r-- | tests/tcg/mips/include/test_utils_128.h | 17 | ||||
-rw-r--r-- | tests/tcg/mips/include/test_utils_64.h | 9 | ||||
-rw-r--r-- | tests/tcg/mips/include/wrappers_msa.h | 24 |
3 files changed, 40 insertions, 10 deletions
diff --git a/tests/tcg/mips/include/test_utils_128.h b/tests/tcg/mips/include/test_utils_128.h index a828416d4f..2fea6102d1 100644 --- a/tests/tcg/mips/include/test_utils_128.h +++ b/tests/tcg/mips/include/test_utils_128.h @@ -30,11 +30,13 @@ #define PRINT_RESULTS 0 -static inline int32_t check_results(const char *instruction_name, - const uint32_t test_count, - const double elapsed_time, - const uint64_t *b128_result, - const uint64_t *b128_expect) +static inline int32_t check_results_128(const char *isa_ase_name, + const char *group_name, + const char *instruction_name, + const uint32_t test_count, + const double elapsed_time, + const uint64_t *b128_result, + const uint64_t *b128_expect) { #if PRINT_RESULTS uint32_t ii; @@ -56,7 +58,8 @@ static inline int32_t check_results(const char *instruction_name, uint32_t pass_count = 0; uint32_t fail_count = 0; - printf("%s: ", instruction_name); + printf("| %-10s \t| %-20s\t| %-16s \t|", + isa_ase_name, group_name, instruction_name); for (i = 0; i < test_count; i++) { if ((b128_result[2 * i] == b128_expect[2 * i]) && (b128_result[2 * i + 1] == b128_expect[2 * i + 1])) { @@ -66,7 +69,7 @@ static inline int32_t check_results(const char *instruction_name, } } - printf("\tPASS: %3d \tFAIL: %3d \telapsed time: %5.2f ms\n", + printf(" PASS: %3d \t| FAIL: %3d \t| elapsed time: %5.2f ms \t|\n", pass_count, fail_count, elapsed_time); if (fail_count > 0) { diff --git a/tests/tcg/mips/include/test_utils_64.h b/tests/tcg/mips/include/test_utils_64.h index ee3828472c..c9609d8281 100644 --- a/tests/tcg/mips/include/test_utils_64.h +++ b/tests/tcg/mips/include/test_utils_64.h @@ -30,7 +30,9 @@ #define PRINT_RESULTS 0 -static inline int32_t check_results_64(const char *instruction_name, +static inline int32_t check_results_64(const char *isa_ase_name, + const char *group_name, + const char *instruction_name, const uint32_t test_count, const double elapsed_time, const uint64_t *b64_result, @@ -55,7 +57,8 @@ static inline int32_t check_results_64(const char *instruction_name, uint32_t pass_count = 0; uint32_t fail_count = 0; - printf("%s: ", instruction_name); + printf("| %-10s \t| %-20s\t| %-16s \t|", + isa_ase_name, group_name, instruction_name); for (i = 0; i < test_count; i++) { if (b64_result[i] == b64_expect[i]) { pass_count++; @@ -64,7 +67,7 @@ static inline int32_t check_results_64(const char *instruction_name, } } - printf("PASS: %3d FAIL: %3d elapsed time: %5.2f ms\n", + printf(" PASS: %3d \t| FAIL: %3d \t| elapsed time: %5.2f ms \t|\n", pass_count, fail_count, elapsed_time); if (fail_count > 0) { diff --git a/tests/tcg/mips/include/wrappers_msa.h b/tests/tcg/mips/include/wrappers_msa.h index 5d28cb531a..9570aa8998 100644 --- a/tests/tcg/mips/include/wrappers_msa.h +++ b/tests/tcg/mips/include/wrappers_msa.h @@ -555,19 +555,43 @@ DO_MSA__WD__WS_WT(XOR_V, xor.v) */ DO_MSA__WD__WS_WT(PCKEV_B, pckev.b) +DO_MSA__WD__WD_WT(PCKEV_B__DDT, pckev.b) +DO_MSA__WD__WS_WD(PCKEV_B__DSD, pckev.b) DO_MSA__WD__WS_WT(PCKEV_H, pckev.h) +DO_MSA__WD__WD_WT(PCKEV_H__DDT, pckev.h) +DO_MSA__WD__WS_WD(PCKEV_H__DSD, pckev.h) DO_MSA__WD__WS_WT(PCKEV_W, pckev.w) +DO_MSA__WD__WD_WT(PCKEV_W__DDT, pckev.w) +DO_MSA__WD__WS_WD(PCKEV_W__DSD, pckev.w) DO_MSA__WD__WS_WT(PCKEV_D, pckev.d) +DO_MSA__WD__WD_WT(PCKEV_D__DDT, pckev.d) +DO_MSA__WD__WS_WD(PCKEV_D__DSD, pckev.d) DO_MSA__WD__WS_WT(PCKOD_B, pckod.b) +DO_MSA__WD__WD_WT(PCKOD_B__DDT, pckod.b) +DO_MSA__WD__WS_WD(PCKOD_B__DSD, pckod.b) DO_MSA__WD__WS_WT(PCKOD_H, pckod.h) +DO_MSA__WD__WD_WT(PCKOD_H__DDT, pckod.h) +DO_MSA__WD__WS_WD(PCKOD_H__DSD, pckod.h) DO_MSA__WD__WS_WT(PCKOD_W, pckod.w) +DO_MSA__WD__WD_WT(PCKOD_W__DDT, pckod.w) +DO_MSA__WD__WS_WD(PCKOD_W__DSD, pckod.w) DO_MSA__WD__WS_WT(PCKOD_D, pckod.d) +DO_MSA__WD__WD_WT(PCKOD_D__DDT, pckod.d) +DO_MSA__WD__WS_WD(PCKOD_D__DSD, pckod.d) DO_MSA__WD__WS_WT(VSHF_B, vshf.b) +DO_MSA__WD__WD_WT(VSHF_B__DDT, vshf.b) +DO_MSA__WD__WS_WD(VSHF_B__DSD, vshf.b) DO_MSA__WD__WS_WT(VSHF_H, vshf.h) +DO_MSA__WD__WD_WT(VSHF_H__DDT, vshf.h) +DO_MSA__WD__WS_WD(VSHF_H__DSD, vshf.h) DO_MSA__WD__WS_WT(VSHF_W, vshf.w) +DO_MSA__WD__WD_WT(VSHF_W__DDT, vshf.w) +DO_MSA__WD__WS_WD(VSHF_W__DSD, vshf.w) DO_MSA__WD__WS_WT(VSHF_D, vshf.d) +DO_MSA__WD__WD_WT(VSHF_D__DDT, vshf.d) +DO_MSA__WD__WS_WD(VSHF_D__DSD, vshf.d) /* |