void benchmarks(void) { #if ARCH_ARM bench_set_overhead(); bench_memset(); bench_cset_uint8_t(); bench_cset_uint16_t(); bench_cset_uint32_t(); bench_cset_uint64_t(); bench_cset_wide(); bench_cset_stm(); bench_memcpy(); #endif #if WITH_LIB_LIBM bench_sincos(); #endif }
static int string_tests(int argc, cmd_args *argv) { src = memalign(64, BUFFER_SIZE + 256); dst = memalign(64, BUFFER_SIZE + 256); src2 = memalign(64, BUFFER_SIZE + 256); dst2 = memalign(64, BUFFER_SIZE + 256); printf("src %p, dst %p\n", src, dst); printf("src2 %p, dst2 %p\n", src2, dst2); if (argc < 3) { printf("not enough arguments:\n"); usage: printf("%s validate <routine>\n", argv[0].str); printf("%s bench <routine>\n", argv[0].str); goto out; } if (!strcmp(argv[1].str, "validate")) { if (!strcmp(argv[2].str, "memcpy")) { validate_memcpy(); } else if (!strcmp(argv[2].str, "memset")) { validate_memset(); } else if (!strcmp(argv[2].str, "memcpy_overlap")) { validate_memcpy_overlap(); } } else if (!strcmp(argv[1].str, "bench")) { if (!strcmp(argv[2].str, "memcpy")) { bench_memcpy(); } else if (!strcmp(argv[2].str, "memset")) { bench_memset(); } } else { goto usage; } out: free(src); free(dst); free(src2); free(dst2); return 0; }