rsp_regr_su_br.c
2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <sys/types.h>
#ifdef __sgi__
#include <sys/sbd.h>
#endif
#include <sys/stat.h>
#include <sys/mman.h>
#ifdef __sgi__
#include <sys/sema.h>
#endif
#include <netinet/in.h>
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <getopt.h>
#include <rcp.h>
#include <rsp.h>
/* From $ROOT/usr/include/ide, which is installed from PR/diags/include */
#include "diag.h"
#include "dbg_comm.h"
#define RSP_TEST_BASE 001
static int NumFailures = 0;
/* From rsp_regr_common.c: */
extern int generic_rsp_regression (const char *file_name);
extern void imem_init(FILE *file_p);
extern int rsp_regrInit();
extern int rsp_regrDo(TEST_REF *test_ref);
extern int rsp_regr(TEST_REF TestRefs[]);
int beq1();
int bgez1();
int bgezal1();
int bgezal2();
int bgtz1();
int blez1();
int bltz1();
int bltzal1();
int bltzal2();
int bne1();
int j1();
int jal1();
int jalr1();
int jr1();
/*
* An array of tests, each of which corresponds to a separate menu
* item callable from the master ide menu.
*/
static TEST_REF TestRefs[] = {
{"beq1", RSP_TEST_BASE+0, beq1},
{"bgez1", RSP_TEST_BASE+1, bgez1},
{"bgezal1", RSP_TEST_BASE+2, bgezal1},
{"bgezal2", RSP_TEST_BASE+3, bgezal2},
{"bgtz1", RSP_TEST_BASE+4, bgtz1},
{"blez1", RSP_TEST_BASE+5, blez1},
{"bltz1", RSP_TEST_BASE+6, bltz1},
{"bltzal1", RSP_TEST_BASE+7, bltzal1},
{"bltzal2", RSP_TEST_BASE+8, bltzal2},
{"bne1", RSP_TEST_BASE+9, bne1},
{"j1", RSP_TEST_BASE+10, j1},
{"jal1", RSP_TEST_BASE+11, jal1},
{"jalr1", RSP_TEST_BASE+12, jalr1},
{"jr1", RSP_TEST_BASE+13, jr1},
{"",0,0}
};
static int failed_tests[512];
/*
* diagnostic entry point:
*
* Each separately invokable ide diagnostic command corresponds to an
* independent ".c" module; the entry point herein must match
* the test name as specified in the rspcmd.awk script. These command
* names correspond to the names you see from the ide menu. For this
* module, there will be an ide command "rsp_regr".
*/
int rsp_regr_su_br(void) {rsp_regr(TestRefs);}
/*
* Tests
*/
int beq1() {return generic_rsp_regression("tests/beq1");}
int bgez1() {return generic_rsp_regression("tests/bgez1");}
int bgezal1() {return generic_rsp_regression("tests/bgezal1");}
int bgezal2() {return generic_rsp_regression("tests/bgezal2");}
int bgtz1() {return generic_rsp_regression("tests/bgtz1");}
int blez1() {return generic_rsp_regression("tests/blez1");}
int bltz1() {return generic_rsp_regression("tests/bltz1");}
int bltzal1() {return generic_rsp_regression("tests/bltzal1");}
int bltzal2() {return generic_rsp_regression("tests/bltzal2");}
int bne1() {return generic_rsp_regression("tests/bne1");}
int j1() {return generic_rsp_regression("tests/j1");}
int jal1() {return generic_rsp_regression("tests/jal1");}
int jalr1() {return generic_rsp_regression("tests/jalr1");}
int jr1() {return generic_rsp_regression("tests/jr1");}