Commit d7059fd7 authored by Aleksandar Markovic's avatar Aleksandar Markovic
Browse files

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: default avatarAleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: default avatarAleksandar Rikalo <arikalo@wavecomp.com>
Message-Id: <1566216496-17375-37-git-send-email-aleksandar.markovic@rt-rk.com>
parent 33dd6f44
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#include <string.h>

#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++;
        }
    }