- return (ok); \
-}
-
-TSHIFT(LSL)
-TSHIFT(LSR)
-TSHIFT(ROL)
-TSHIFT(ROR)
-TARITH(ADD)
-TARITH(SUB)
-
-static test_chunk tests[] = {
- { "lsl64", tLSL, { &type_hex, &type_int, &type_hex, 0 } },
- { "lsr64", tLSR, { &type_hex, &type_int, &type_hex, 0 } },
- { "rol64", tROL, { &type_hex, &type_int, &type_hex, 0 } },
- { "ror64", tROR, { &type_hex, &type_int, &type_hex, 0 } },
- { "add64", tADD, { &type_hex, &type_hex, &type_hex, 0 } },
- { "sub64", tSUB, { &type_hex, &type_hex, &type_hex, 0 } },
- { 0, 0, { 0 } }
+ static const struct tvec_test op##_test = \
+ { #op "64", arith_regs, 0, test_##op };
+
+ARITHOPS(TARITH)
+#undef TARITH
+
+static const struct tvec_test *const tests[] = {
+#define TESTENT(op, OP) &op##_test,
+ SHIFTOPS(TESTENT)
+ ARITHOPS(TESTENT)
+#undef TESTENT
+ 0