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) \ | |
Jim Stichnoth
2014/06/12 20:52:07
Do you think this test will be getting much bigger
jvoung (off chromium)
2014/06/16 20:51:59
Added some variable-length mem() calls, (vs the fi
| |
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 |