aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/common/alu-n-tst.h
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/common/alu-n-tst.h')
-rw-r--r--sim/testsuite/common/alu-n-tst.h87
1 files changed, 0 insertions, 87 deletions
diff --git a/sim/testsuite/common/alu-n-tst.h b/sim/testsuite/common/alu-n-tst.h
deleted file mode 100644
index bf2635f..0000000
--- a/sim/testsuite/common/alu-n-tst.h
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef N
-#error "N must be #defined"
-#endif
-
-#include "sim-xcat.h"
-
-/* NOTE: see end of file for #undef of these macros */
-#define unsignedN XCONCAT2(unsigned,N)
-#define OP_BEGIN XCONCAT3(ALU,N,_BEGIN)
-#define OP_ADD XCONCAT3(ALU,N,_ADD)
-#define OP_SUB XCONCAT3(ALU,N,_SUB)
-#define HAD_OVERFLOW (XCONCAT3(ALU,N,_HAD_OVERFLOW) != 0)
-#define HAD_CARRY (XCONCAT3(ALU,N,_HAD_CARRY) != 0)
-#define RESULT XCONCAT3(ALU,N,_RESULT)
-#define OVERFLOW_RESULT XCONCAT3(ALU,N,_OVERFLOW_RESULT)
-#define CARRY_RESULT XCONCAT3(ALU,N,_CARRY_RESULT)
-#define do_op_N XCONCAT2(do_op_,N)
-
-void
-do_op_N (const alu_test *tst)
-{
- const alu_op *op;
- /* without type cast */
- {
- OP_BEGIN (tst->begin);
- print_hex (tst->begin, N);
- for (op = tst->ops; op->op != NULL; op++)
- {
- printf (" %s ", op->op);
- print_hex (op->arg, N);
- if (strcmp (op->op, "add") == 0
- || strcmp (op->op, "ADD") == 0)
- OP_ADD (op->arg);
- else if (strcmp (op->op, "sub") == 0
- || strcmp (op->op, "SUB") == 0)
- OP_SUB (op->arg);
- else
- {
- printf (" -- operator unknown\n");
- abort ();
- }
- }
- printf (" = ");
- print_hex (tst->result, N);
- printf (" C%d V%d", tst->carry, tst->overflow);
- if (tst->carry != HAD_CARRY)
- {
- printf (" -- carry wrong %d", HAD_CARRY);
- errors ++;
- }
- if (tst->overflow != HAD_OVERFLOW)
- {
- printf (" -- overflow wrong %d", HAD_OVERFLOW);
- errors ++;
- }
- if ((unsignedN) CARRY_RESULT != (unsignedN) tst->result)
- {
- printf (" -- carry result wrong ");
- print_hex (CARRY_RESULT, N);
- errors ++;
- }
- if ((unsignedN) OVERFLOW_RESULT != (unsignedN) tst->result)
- {
- printf (" -- overflow result wrong ");
- print_hex (OVERFLOW_RESULT, N);
- errors ++;
- }
- if ((unsignedN) RESULT != (unsignedN) tst->result)
- {
- printf (" -- result wrong ");
- print_hex (RESULT, N);
- errors ++;
- }
- printf ("\n");
- }
-}
-
-#undef OP_BEGIN
-#undef OP_ADD
-#undef OP_SUB
-#undef HAD_OVERFLOW
-#undef HAD_CARRY
-#undef OVERFLOW_RESULT
-#undef CARRY_RESULT
-#undef RESULT
-#undef do_op_N
-#undef unsignedN