OLD | NEW |
(Empty) | |
| 1 /* crosstest.py --test=mem_intrin.c --driver=mem_intrin_main.c \ |
| 2 --prefix=Subzero_ --output=mem_intrin */ |
| 3 |
| 4 #include <stdint.h> |
| 5 #include <stdio.h> |
| 6 |
| 7 int memcpy_test(uint8_t n); |
| 8 int memmove_test(uint8_t n); |
| 9 int memset_test(uint8_t n); |
| 10 int Subzero_memcpy_test(uint8_t n); |
| 11 int Subzero_memmove_test(uint8_t n); |
| 12 int Subzero_memset_test(uint8_t n); |
| 13 |
| 14 int main(int argc, char **argv) { |
| 15 unsigned TotalTests = 0; |
| 16 unsigned Passes = 0; |
| 17 unsigned Failures = 0; |
| 18 #define do_test(test_func) \ |
| 19 for (uint8_t i = 0; i < 100; ++i) { \ |
| 20 ++TotalTests; \ |
| 21 int llc_result = test_func(i); \ |
| 22 int sz_result = Subzero_##test_func(i); \ |
| 23 if (llc_result == sz_result) { \ |
| 24 ++Passes; \ |
| 25 } else { \ |
| 26 ++Failures; \ |
| 27 printf("Failure (%s): i=%d, llc=%d, sz=%d\n", #test_func, \ |
| 28 i, llc_result, sz_result); \ |
| 29 } \ |
| 30 } |
| 31 |
| 32 do_test(memcpy_test) |
| 33 do_test(memmove_test) |
| 34 /* Broken: invalid push byte for val argument */ |
| 35 /* do_test(memset_test) */ |
| 36 printf("TotalTests=%u Passes=%u Failures=%u\n", TotalTests, Passes, Failures); |
| 37 return Failures; |
| 38 } |
OLD | NEW |