void bench(int mode) { const int N = 100000; Code code; code.makeBench(N, mode); int (*p)(uint64_t*, const uint64_t*, const uint64_t*) = (int (*)(uint64_t*, const uint64_t*, const uint64_t*))code.getCode(); uint64_t a[4] = { uint64_t(-1), uint64_t(-2), uint64_t(-3), 544443221 }; uint64_t b[4] = { uint64_t(-123), uint64_t(-3), uint64_t(-4), 222222222 }; uint64_t c[5] = { 0, 0, 0, 0, 0 }; const int M = 100; Xbyak::util::Clock clk; for (int i = 0; i < M; i++) { clk.begin(); p(c, a, b); clk.end(); } printf("%.2fclk\n", clk.getClock() / double(M) / double(N) / innerN); }