aboutsummaryrefslogtreecommitdiff
path: root/tests/tcg
diff options
context:
space:
mode:
authorAleksandar Markovic <amarkovic@wavecomp.com>2019-08-19 14:08:15 +0200
committerAleksandar Markovic <amarkovic@wavecomp.com>2019-08-19 19:53:37 +0200
commitd7059fd7375be449aed2f3cd6adf7ae14dbfefbd (patch)
treedae83275e4a35fae87ece4c8f8cf72699a4c326c /tests/tcg
parent33dd6f442d8880c0bab025014b947633292b0fb9 (diff)
downloadqemu-d7059fd7375be449aed2f3cd6adf7ae14dbfefbd.zip
qemu-d7059fd7375be449aed2f3cd6adf7ae14dbfefbd.tar.gz
qemu-d7059fd7375be449aed2f3cd6adf7ae14dbfefbd.tar.bz2
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>
Diffstat (limited to 'tests/tcg')
-rw-r--r--tests/tcg/mips/include/test_utils_128.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/tcg/mips/include/test_utils_128.h b/tests/tcg/mips/include/test_utils_128.h
index 2fea610..0dd3868 100644
--- a/tests/tcg/mips/include/test_utils_128.h
+++ b/tests/tcg/mips/include/test_utils_128.h
@@ -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++;
}
}