| Index: crosstest/mem_intrin_main.cpp
|
| diff --git a/crosstest/mem_intrin_main.cpp b/crosstest/mem_intrin_main.cpp
|
| index 70e3a6784a16c371b27974c6f1f4260e189fdcf3..118b9b9c2e9b80ef5c822a0ebb4017502533651d 100644
|
| --- a/crosstest/mem_intrin_main.cpp
|
| +++ b/crosstest/mem_intrin_main.cpp
|
| @@ -12,27 +12,6 @@ namespace Subzero_ {
|
| #define XSTR(s) STR(s)
|
| #define STR(s) #s
|
|
|
| -void testFixedLen(size_t &TotalTests, size_t &Passes, size_t &Failures) {
|
| -#define do_test_fixed(test_func) \
|
| - for (uint8_t init_val = 0; init_val < 100; ++init_val) { \
|
| - ++TotalTests; \
|
| - int llc_result = test_func(init_val); \
|
| - int sz_result = Subzero_::test_func(init_val); \
|
| - if (llc_result == sz_result) { \
|
| - ++Passes; \
|
| - } else { \
|
| - ++Failures; \
|
| - printf("Failure (%s): init_val=%d, llc=%d, sz=%d\n", STR(test_func), \
|
| - init_val, llc_result, sz_result); \
|
| - } \
|
| - }
|
| -
|
| - do_test_fixed(memcpy_test_fixed_len);
|
| - do_test_fixed(memmove_test_fixed_len);
|
| - do_test_fixed(memset_test_fixed_len)
|
| -#undef do_test_fixed
|
| -}
|
| -
|
| void testVariableLen(size_t &TotalTests, size_t &Passes, size_t &Failures) {
|
| uint8_t buf[256];
|
| uint8_t buf2[256];
|
| @@ -58,6 +37,287 @@ void testVariableLen(size_t &TotalTests, size_t &Passes, size_t &Failures) {
|
| #undef do_test_variable
|
| }
|
|
|
| +void testFixedLen(size_t &TotalTests, size_t &Passes, size_t &Failures) {
|
| +#define do_test_fixed(test_func, NBYTES) \
|
| + for (uint8_t init_val = 0; init_val < 100; ++init_val) { \
|
| + ++TotalTests; \
|
| + int llc_result = test_func##_##NBYTES(init_val); \
|
| + int sz_result = Subzero_::test_func##_##NBYTES(init_val); \
|
| + if (llc_result == sz_result) { \
|
| + ++Passes; \
|
| + } else { \
|
| + ++Failures; \
|
| + printf("Failure (%s): init_val=%d, len=%d, llc=%d, sz=%d\n", \
|
| + STR(test_func), init_val, NBYTES, llc_result, sz_result); \
|
| + } \
|
| + }
|
| +
|
| +#define do_all_test_fixed(NBYTES) \
|
| + do_test_fixed(memcpy_test_fixed_len, NBYTES); \
|
| + do_test_fixed(memmove_test_fixed_len, NBYTES); \
|
| + do_test_fixed(memset_test_fixed_len, NBYTES);
|
| +
|
| + do_all_test_fixed(1);
|
| + do_all_test_fixed(2);
|
| + do_all_test_fixed(3);
|
| + do_all_test_fixed(4);
|
| + do_all_test_fixed(5);
|
| + do_all_test_fixed(6);
|
| + do_all_test_fixed(7);
|
| + do_all_test_fixed(8);
|
| + do_all_test_fixed(9);
|
| + do_all_test_fixed(10);
|
| + do_all_test_fixed(11);
|
| + do_all_test_fixed(12);
|
| + do_all_test_fixed(13);
|
| + do_all_test_fixed(14);
|
| + do_all_test_fixed(15);
|
| + do_all_test_fixed(16);
|
| + do_all_test_fixed(17);
|
| + do_all_test_fixed(18);
|
| + do_all_test_fixed(19);
|
| + do_all_test_fixed(20);
|
| + do_all_test_fixed(21);
|
| + do_all_test_fixed(22);
|
| + do_all_test_fixed(23);
|
| + do_all_test_fixed(24);
|
| + do_all_test_fixed(25);
|
| + do_all_test_fixed(26);
|
| + do_all_test_fixed(27);
|
| + do_all_test_fixed(28);
|
| + do_all_test_fixed(29);
|
| + do_all_test_fixed(30);
|
| + do_all_test_fixed(31);
|
| + do_all_test_fixed(32);
|
| + do_all_test_fixed(33);
|
| + do_all_test_fixed(34);
|
| + do_all_test_fixed(35);
|
| + do_all_test_fixed(36);
|
| + do_all_test_fixed(37);
|
| + do_all_test_fixed(38);
|
| + do_all_test_fixed(39);
|
| + do_all_test_fixed(40);
|
| + do_all_test_fixed(41);
|
| + do_all_test_fixed(42);
|
| + do_all_test_fixed(43);
|
| + do_all_test_fixed(44);
|
| + do_all_test_fixed(45);
|
| + do_all_test_fixed(46);
|
| + do_all_test_fixed(47);
|
| + do_all_test_fixed(48);
|
| + do_all_test_fixed(49);
|
| + do_all_test_fixed(50);
|
| + do_all_test_fixed(51);
|
| + do_all_test_fixed(52);
|
| + do_all_test_fixed(53);
|
| + do_all_test_fixed(54);
|
| + do_all_test_fixed(55);
|
| + do_all_test_fixed(56);
|
| + do_all_test_fixed(57);
|
| + do_all_test_fixed(58);
|
| + do_all_test_fixed(59);
|
| + do_all_test_fixed(60);
|
| + do_all_test_fixed(61);
|
| + do_all_test_fixed(62);
|
| + do_all_test_fixed(63);
|
| + do_all_test_fixed(64);
|
| + do_all_test_fixed(65);
|
| + do_all_test_fixed(66);
|
| + do_all_test_fixed(67);
|
| + do_all_test_fixed(68);
|
| + do_all_test_fixed(69);
|
| + do_all_test_fixed(70);
|
| + do_all_test_fixed(71);
|
| + do_all_test_fixed(72);
|
| + do_all_test_fixed(73);
|
| + do_all_test_fixed(74);
|
| + do_all_test_fixed(75);
|
| + do_all_test_fixed(76);
|
| + do_all_test_fixed(77);
|
| + do_all_test_fixed(78);
|
| + do_all_test_fixed(79);
|
| + do_all_test_fixed(80);
|
| + do_all_test_fixed(81);
|
| + do_all_test_fixed(82);
|
| + do_all_test_fixed(83);
|
| + do_all_test_fixed(84);
|
| + do_all_test_fixed(85);
|
| + do_all_test_fixed(86);
|
| + do_all_test_fixed(87);
|
| + do_all_test_fixed(88);
|
| + do_all_test_fixed(89);
|
| + do_all_test_fixed(90);
|
| + do_all_test_fixed(91);
|
| + do_all_test_fixed(92);
|
| + do_all_test_fixed(93);
|
| + do_all_test_fixed(94);
|
| + do_all_test_fixed(95);
|
| + do_all_test_fixed(96);
|
| + do_all_test_fixed(97);
|
| + do_all_test_fixed(98);
|
| + do_all_test_fixed(99);
|
| + do_all_test_fixed(100);
|
| + do_all_test_fixed(101);
|
| + do_all_test_fixed(102);
|
| + do_all_test_fixed(103);
|
| + do_all_test_fixed(104);
|
| + do_all_test_fixed(105);
|
| + do_all_test_fixed(106);
|
| + do_all_test_fixed(107);
|
| + do_all_test_fixed(108);
|
| + do_all_test_fixed(109);
|
| + do_all_test_fixed(110);
|
| + do_all_test_fixed(111);
|
| + do_all_test_fixed(112);
|
| + do_all_test_fixed(113);
|
| + do_all_test_fixed(114);
|
| + do_all_test_fixed(115);
|
| + do_all_test_fixed(116);
|
| + do_all_test_fixed(117);
|
| + do_all_test_fixed(118);
|
| + do_all_test_fixed(119);
|
| + do_all_test_fixed(120);
|
| + do_all_test_fixed(121);
|
| + do_all_test_fixed(122);
|
| + do_all_test_fixed(123);
|
| + do_all_test_fixed(124);
|
| + do_all_test_fixed(125);
|
| + do_all_test_fixed(126);
|
| + do_all_test_fixed(127);
|
| + do_all_test_fixed(128);
|
| + do_all_test_fixed(129);
|
| + do_all_test_fixed(130);
|
| + do_all_test_fixed(131);
|
| + do_all_test_fixed(132);
|
| + do_all_test_fixed(133);
|
| + do_all_test_fixed(134);
|
| + do_all_test_fixed(135);
|
| + do_all_test_fixed(136);
|
| + do_all_test_fixed(137);
|
| + do_all_test_fixed(138);
|
| + do_all_test_fixed(139);
|
| + do_all_test_fixed(140);
|
| + do_all_test_fixed(141);
|
| + do_all_test_fixed(142);
|
| + do_all_test_fixed(143);
|
| + do_all_test_fixed(144);
|
| + do_all_test_fixed(145);
|
| + do_all_test_fixed(146);
|
| + do_all_test_fixed(147);
|
| + do_all_test_fixed(148);
|
| + do_all_test_fixed(149);
|
| + do_all_test_fixed(150);
|
| + do_all_test_fixed(151);
|
| + do_all_test_fixed(152);
|
| + do_all_test_fixed(153);
|
| + do_all_test_fixed(154);
|
| + do_all_test_fixed(155);
|
| + do_all_test_fixed(156);
|
| + do_all_test_fixed(157);
|
| + do_all_test_fixed(158);
|
| + do_all_test_fixed(159);
|
| + do_all_test_fixed(160);
|
| + do_all_test_fixed(161);
|
| + do_all_test_fixed(162);
|
| + do_all_test_fixed(163);
|
| + do_all_test_fixed(164);
|
| + do_all_test_fixed(165);
|
| + do_all_test_fixed(166);
|
| + do_all_test_fixed(167);
|
| + do_all_test_fixed(168);
|
| + do_all_test_fixed(169);
|
| + do_all_test_fixed(170);
|
| + do_all_test_fixed(171);
|
| + do_all_test_fixed(172);
|
| + do_all_test_fixed(173);
|
| + do_all_test_fixed(174);
|
| + do_all_test_fixed(175);
|
| + do_all_test_fixed(176);
|
| + do_all_test_fixed(177);
|
| + do_all_test_fixed(178);
|
| + do_all_test_fixed(179);
|
| + do_all_test_fixed(180);
|
| + do_all_test_fixed(181);
|
| + do_all_test_fixed(182);
|
| + do_all_test_fixed(183);
|
| + do_all_test_fixed(184);
|
| + do_all_test_fixed(185);
|
| + do_all_test_fixed(186);
|
| + do_all_test_fixed(187);
|
| + do_all_test_fixed(188);
|
| + do_all_test_fixed(189);
|
| + do_all_test_fixed(190);
|
| + do_all_test_fixed(191);
|
| + do_all_test_fixed(192);
|
| + do_all_test_fixed(193);
|
| + do_all_test_fixed(194);
|
| + do_all_test_fixed(195);
|
| + do_all_test_fixed(196);
|
| + do_all_test_fixed(197);
|
| + do_all_test_fixed(198);
|
| + do_all_test_fixed(199);
|
| + do_all_test_fixed(200);
|
| + do_all_test_fixed(201);
|
| + do_all_test_fixed(202);
|
| + do_all_test_fixed(203);
|
| + do_all_test_fixed(204);
|
| + do_all_test_fixed(205);
|
| + do_all_test_fixed(206);
|
| + do_all_test_fixed(207);
|
| + do_all_test_fixed(208);
|
| + do_all_test_fixed(209);
|
| + do_all_test_fixed(210);
|
| + do_all_test_fixed(211);
|
| + do_all_test_fixed(212);
|
| + do_all_test_fixed(213);
|
| + do_all_test_fixed(214);
|
| + do_all_test_fixed(215);
|
| + do_all_test_fixed(216);
|
| + do_all_test_fixed(217);
|
| + do_all_test_fixed(218);
|
| + do_all_test_fixed(219);
|
| + do_all_test_fixed(220);
|
| + do_all_test_fixed(221);
|
| + do_all_test_fixed(222);
|
| + do_all_test_fixed(223);
|
| + do_all_test_fixed(224);
|
| + do_all_test_fixed(225);
|
| + do_all_test_fixed(226);
|
| + do_all_test_fixed(227);
|
| + do_all_test_fixed(228);
|
| + do_all_test_fixed(229);
|
| + do_all_test_fixed(230);
|
| + do_all_test_fixed(231);
|
| + do_all_test_fixed(232);
|
| + do_all_test_fixed(233);
|
| + do_all_test_fixed(234);
|
| + do_all_test_fixed(235);
|
| + do_all_test_fixed(236);
|
| + do_all_test_fixed(237);
|
| + do_all_test_fixed(238);
|
| + do_all_test_fixed(239);
|
| + do_all_test_fixed(240);
|
| + do_all_test_fixed(241);
|
| + do_all_test_fixed(242);
|
| + do_all_test_fixed(243);
|
| + do_all_test_fixed(244);
|
| + do_all_test_fixed(245);
|
| + do_all_test_fixed(246);
|
| + do_all_test_fixed(247);
|
| + do_all_test_fixed(248);
|
| + do_all_test_fixed(249);
|
| + do_all_test_fixed(250);
|
| + do_all_test_fixed(251);
|
| + do_all_test_fixed(252);
|
| + do_all_test_fixed(253);
|
| + do_all_test_fixed(254);
|
| + do_all_test_fixed(255);
|
| + do_all_test_fixed(256);
|
| +
|
| +#undef do_test_fixed
|
| +#undef do_all_test_fixed
|
| +}
|
| +
|
| int main(int argc, char **argv) {
|
| unsigned TotalTests = 0;
|
| unsigned Passes = 0;
|
|
|