Commit | Line | Data |
---|---|---|
4a306116 DB |
1 | # frv testcase for rstd $GRk,@($GRi,$GRj) |
2 | # mach: frv | |
3 | # as(frv): -mcpu=frv | |
4 | ||
5 | .include "testutils.inc" | |
6 | ||
7 | start | |
8 | ||
9 | .global add | |
10 | add: | |
11 | ; No nesr's active | |
12 | set_gr_gr sp,gr20 | |
13 | set_mem_limmed 0x2222,0x2222,gr20 | |
14 | set_gr_gr gr20,gr27 | |
15 | inc_gr_immed -4,gr27 | |
16 | set_mem_limmed 0x3333,0x3333,gr27 | |
17 | set_gr_gr gr27,gr26 | |
18 | inc_gr_immed -4,gr26 | |
19 | set_mem_limmed 0x4444,0x4444,gr26 | |
20 | set_gr_gr gr26,gr25 | |
21 | inc_gr_immed -4,gr25 | |
22 | set_mem_limmed 0x5555,0x5555,gr25 | |
23 | set_gr_gr gr25,gr24 | |
24 | inc_gr_immed -4,gr24 | |
25 | set_mem_limmed 0x6666,0x6666,gr24 | |
26 | set_gr_gr gr24,gr23 | |
27 | inc_gr_immed -4,gr23 | |
28 | set_mem_limmed 0x7777,0x7777,gr23 | |
29 | set_gr_gr gr23,gr22 | |
30 | inc_gr_immed -4,gr22 | |
31 | set_mem_limmed 0x8888,0x8888,gr22 | |
32 | set_gr_gr gr22,gr21 | |
33 | inc_gr_immed -4,gr21 | |
34 | set_mem_limmed 0x9999,0x9999,gr21 | |
35 | set_gr_limmed 0x1111,0x1111,gr40 | |
36 | set_gr_limmed 0x1111,0x1111,gr41 | |
37 | inc_gr_immed -4,sp | |
38 | set_gr_immed 0,gr7 | |
39 | set_gr_limmed 0xeeee,0xeeee,gr8 | |
40 | set_gr_limmed 0xffff,0xffff,gr9 | |
41 | rstd gr8,@(sp,gr7) | |
42 | test_mem_limmed 0xffff,0xffff,gr20 | |
43 | test_mem_limmed 0xeeee,0xeeee,gr27 | |
44 | test_mem_limmed 0x4444,0x4444,gr26 | |
45 | test_mem_limmed 0x5555,0x5555,gr25 | |
46 | test_mem_limmed 0x6666,0x6666,gr24 | |
47 | test_mem_limmed 0x7777,0x7777,gr23 | |
48 | test_mem_limmed 0x8888,0x8888,gr22 | |
49 | test_mem_limmed 0x9999,0x9999,gr21 | |
50 | test_gr_limmed 0x1111,0x1111,gr40 | |
51 | test_gr_limmed 0x1111,0x1111,gr41 | |
52 | ||
53 | ; 1 nesr active with the incorrect address in neear for gr | |
54 | set_gr_gr sp,gr10 | |
55 | nlddi @(sp,0),gr40 | |
56 | test_spr_gr neear0,gr10 | |
57 | set_mem_limmed 0x2222,0x2222,gr20 | |
58 | set_mem_limmed 0x3333,0x3333,gr27 | |
59 | set_mem_limmed 0x4444,0x4444,gr26 | |
60 | set_mem_limmed 0x5555,0x5555,gr25 | |
61 | set_mem_limmed 0x6666,0x6666,gr24 | |
62 | set_mem_limmed 0x7777,0x7777,gr23 | |
63 | set_mem_limmed 0x8888,0x8888,gr22 | |
64 | set_mem_limmed 0x9999,0x9999,gr21 | |
65 | set_gr_limmed 0xeeee,0xeeee,gr8 | |
66 | set_gr_limmed 0xffff,0xffff,gr9 | |
67 | set_gr_limmed 0x1111,0x1111,gr40 | |
68 | set_gr_limmed 0x1111,0x1111,gr41 | |
69 | set_gr_immed -8,gr7 | |
70 | rstd gr8,@(sp,gr7) | |
71 | test_mem_limmed 0x2222,0x2222,gr20 | |
72 | test_mem_limmed 0x3333,0x3333,gr27 | |
73 | test_mem_limmed 0xffff,0xffff,gr26 | |
74 | test_mem_limmed 0xeeee,0xeeee,gr25 | |
75 | test_mem_limmed 0x6666,0x6666,gr24 | |
76 | test_mem_limmed 0x7777,0x7777,gr23 | |
77 | test_mem_limmed 0x8888,0x8888,gr22 | |
78 | test_mem_limmed 0x9999,0x9999,gr21 | |
79 | test_gr_limmed 0x1111,0x1111,gr40 | |
80 | test_gr_limmed 0x1111,0x1111,gr41 | |
81 | ||
82 | ; 1 nesr active with the incorrect address in neear for fr | |
83 | inc_gr_immed -8,gr10 | |
84 | nlddfi @(sp,-8),fr40 | |
85 | test_spr_gr neear1,gr10 | |
86 | set_mem_limmed 0x2222,0x2222,gr20 | |
87 | set_mem_limmed 0x3333,0x3333,gr27 | |
88 | set_mem_limmed 0x4444,0x4444,gr26 | |
89 | set_mem_limmed 0x5555,0x5555,gr25 | |
90 | set_mem_limmed 0x6666,0x6666,gr24 | |
91 | set_mem_limmed 0x7777,0x7777,gr23 | |
92 | set_mem_limmed 0x8888,0x8888,gr22 | |
93 | set_mem_limmed 0x9999,0x9999,gr21 | |
94 | set_gr_limmed 0xeeee,0xeeee,gr8 | |
95 | set_gr_limmed 0xffff,0xffff,gr9 | |
96 | set_fr_iimmed 0x1111,0x1111,fr40 | |
97 | set_fr_iimmed 0x1111,0x1111,fr41 | |
98 | inc_gr_immed -8,sp | |
99 | set_gr_immed 8,gr7 | |
100 | rstd gr8,@(sp,gr7) | |
101 | test_mem_limmed 0xffff,0xffff,gr20 | |
102 | test_mem_limmed 0xeeee,0xeeee,gr27 | |
103 | test_mem_limmed 0x4444,0x4444,gr26 | |
104 | test_mem_limmed 0x5555,0x5555,gr25 | |
105 | test_mem_limmed 0x6666,0x6666,gr24 | |
106 | test_mem_limmed 0x7777,0x7777,gr23 | |
107 | test_mem_limmed 0x8888,0x8888,gr22 | |
108 | test_mem_limmed 0x9999,0x9999,gr21 | |
109 | test_fr_limmed 0x1111,0x1111,fr40 | |
110 | test_fr_limmed 0x1111,0x1111,fr41 | |
111 | ||
112 | ; 1 nesr active with the correct address in neear for gr | |
113 | inc_gr_immed -8,gr10 | |
114 | nlddi @(sp,-8),gr40 | |
115 | test_spr_gr neear2,gr10 | |
116 | set_mem_limmed 0x2222,0x2222,gr20 | |
117 | set_mem_limmed 0x3333,0x3333,gr27 | |
118 | set_mem_limmed 0x4444,0x4444,gr26 | |
119 | set_mem_limmed 0x5555,0x5555,gr25 | |
120 | set_mem_limmed 0x6666,0x6666,gr24 | |
121 | set_mem_limmed 0x7777,0x7777,gr23 | |
122 | set_mem_limmed 0x8888,0x8888,gr22 | |
123 | set_mem_limmed 0x9999,0x9999,gr21 | |
124 | set_gr_limmed 0xeeee,0xeeee,gr8 | |
125 | set_gr_limmed 0xffff,0xffff,gr9 | |
126 | set_gr_limmed 0x1111,0x1111,gr40 | |
127 | set_gr_limmed 0x1111,0x1111,gr41 | |
128 | inc_gr_immed -8,sp | |
129 | set_gr_immed 0,gr7 | |
130 | rstd gr8,@(sp,gr7) | |
131 | test_mem_limmed 0x2222,0x2222,gr20 | |
132 | test_mem_limmed 0x3333,0x3333,gr27 | |
133 | test_mem_limmed 0x4444,0x4444,gr26 | |
134 | test_mem_limmed 0x5555,0x5555,gr25 | |
135 | test_mem_limmed 0xffff,0xffff,gr24 | |
136 | test_mem_limmed 0xeeee,0xeeee,gr23 | |
137 | test_mem_limmed 0x8888,0x8888,gr22 | |
138 | test_mem_limmed 0x9999,0x9999,gr21 | |
139 | test_gr_limmed 0xffff,0xffff,gr41 | |
140 | test_gr_limmed 0xeeee,0xeeee,gr40 | |
141 | ||
142 | ; 1 nesr active with the correct address in neear for fr | |
143 | inc_gr_immed -8,gr10 | |
144 | nlddfi @(sp,-8),fr40 | |
145 | test_spr_gr neear3,gr10 | |
146 | set_mem_limmed 0x2222,0x2222,gr20 | |
147 | set_mem_limmed 0x3333,0x3333,gr27 | |
148 | set_mem_limmed 0x4444,0x4444,gr26 | |
149 | set_mem_limmed 0x5555,0x5555,gr25 | |
150 | set_mem_limmed 0x6666,0x6666,gr24 | |
151 | set_mem_limmed 0x7777,0x7777,gr23 | |
152 | set_mem_limmed 0x8888,0x8888,gr22 | |
153 | set_mem_limmed 0x9999,0x9999,gr21 | |
154 | set_gr_limmed 0xeeee,0xeeee,gr8 | |
155 | set_gr_limmed 0xffff,0xffff,gr9 | |
156 | set_fr_iimmed 0x1111,0x1111,fr40 | |
157 | set_fr_iimmed 0x1111,0x1111,fr41 | |
158 | set_gr_immed -8,gr7 | |
159 | rstd gr8,@(sp,gr7) | |
160 | test_mem_limmed 0x2222,0x2222,gr20 | |
161 | test_mem_limmed 0x3333,0x3333,gr27 | |
162 | test_mem_limmed 0x4444,0x4444,gr26 | |
163 | test_mem_limmed 0x5555,0x5555,gr25 | |
164 | test_mem_limmed 0x6666,0x6666,gr24 | |
165 | test_mem_limmed 0x7777,0x7777,gr23 | |
166 | test_mem_limmed 0xffff,0xffff,gr22 | |
167 | test_mem_limmed 0xeeee,0xeeee,gr21 | |
168 | test_fr_limmed 0xffff,0xffff,fr41 | |
169 | test_fr_limmed 0xeeee,0xeeee,fr40 | |
170 | ||
171 | pass |