target/mips: tests/tcg: Add optional printing of more detailed failure info

There is a need for printing input and output data for failure cases,
for debugging purpose. This is achieved by this patch, and only if a
preprocessor constant is manually set to 1. (Assumption is that the
need for such printout is relatively rare.)

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: Aleksandar Rikalo <arikalo@wavecomp.com>
Message-Id: <1566216496-17375-37-git-send-email-aleksandar.markovic@rt-rk.com>
This commit is contained in:
Aleksandar Markovic 2019-08-19 14:08:15 +02:00
parent 33dd6f442d
commit d7059fd737

View File

@ -27,7 +27,8 @@
#include <inttypes.h>
#include <string.h>
#define PRINT_RESULTS 0
#define PRINT_RESULTS 0
#define PRINT_FAILURES 0
static inline int32_t check_results_128(const char *isa_ase_name,
@ -65,6 +66,26 @@ static inline int32_t check_results_128(const char *isa_ase_name,
(b128_result[2 * i + 1] == b128_expect[2 * i + 1])) {
pass_count++;
} else {
#if PRINT_FAILURES
uint32_t ii;
uint64_t a, b;
printf("\n");
printf("FAILURE for test case %d!\n", i);
memcpy(&a, (b128_expect + 2 * i), 8);
memcpy(&b, (b128_expect + 2 * i + 1), 8);
printf("Expected result : { 0x%016llxULL, 0x%016llxULL, },\n",
a, b);
memcpy(&a, (b128_result + 2 * i), 8);
memcpy(&b, (b128_result + 2 * i + 1), 8);
printf("Actual result : { 0x%016llxULL, 0x%016llxULL, },\n",
a, b);
printf("\n");
#endif
fail_count++;
}
}