1 # frv testcase for cmqsubhus $FRi,$FRj,$FRj,$CCi,$cond
4 .include "../testutils.inc"
10 set_spr_immed 0x1b1b,cccr
12 set_fr_iimmed 0x0000,0x0000,fr10
13 set_fr_iimmed 0xdead,0xbeef,fr11
14 set_fr_iimmed 0x0000,0x0000,fr12
15 set_fr_iimmed 0x0000,0x0000,fr13
16 cmqsubhus fr10,fr12,fr14,cc0,1
17 test_fr_limmed 0x0000,0x0000,fr14
18 test_fr_limmed 0xdead,0xbeef,fr15
19 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
20 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
21 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
22 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
24 set_fr_iimmed 0x1234,0x5678,fr10
25 set_fr_iimmed 0x7ffe,0x7ffe,fr11
26 set_fr_iimmed 0x1111,0x1111,fr12
27 set_fr_iimmed 0x0002,0x0001,fr13
28 cmqsubhus fr10,fr12,fr14,cc0,1
29 test_fr_limmed 0x0123,0x4567,fr14
30 test_fr_limmed 0x7ffc,0x7ffd,fr15
31 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
32 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
33 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
34 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
37 set_fr_iimmed 0x0001,0x0001,fr10
38 set_fr_iimmed 0x0001,0x0001,fr11
39 set_fr_iimmed 0x0001,0x0002,fr12
40 set_fr_iimmed 0x0002,0x0001,fr13
41 cmqsubhus fr10,fr12,fr14,cc4,1
42 test_fr_limmed 0x0000,0x0000,fr14
43 test_fr_limmed 0x0000,0x0000,fr15
44 test_spr_bits 0x3c,2,0x6,msr0 ; msr0.sie is set
45 test_spr_bits 2,1,1,msr0 ; msr0.ovf set
46 test_spr_bits 1,0,1,msr0 ; msr0.aovf set
47 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
50 set_fr_iimmed 0x0001,0x0001,fr10
51 set_fr_iimmed 0x0002,0x0002,fr11
52 set_fr_iimmed 0x0000,0x0001,fr12
53 set_fr_iimmed 0x0002,0x0003,fr13
54 cmqsubhus.p fr10,fr10,fr14,cc4,1
55 cmqsubhus fr10,fr12,fr16,cc4,1
56 test_fr_limmed 0x0000,0x0000,fr14
57 test_fr_limmed 0x0000,0x0000,fr15
58 test_fr_limmed 0x0001,0x0000,fr16
59 test_fr_limmed 0x0000,0x0000,fr17
60 test_spr_bits 0x3c,2,0x1,msr0 ; msr0.sie is set
61 test_spr_bits 2,1,1,msr0 ; msr0.ovf set
62 test_spr_bits 1,0,1,msr0 ; msr0.aovf set
63 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
66 set_fr_iimmed 0x0000,0x0000,fr10
67 set_fr_iimmed 0xdead,0xbeef,fr11
68 set_fr_iimmed 0x0000,0x0000,fr12
69 set_fr_iimmed 0x0000,0x0000,fr13
70 cmqsubhus fr10,fr12,fr14,cc1,0
71 test_fr_limmed 0x0000,0x0000,fr14
72 test_fr_limmed 0xdead,0xbeef,fr15
73 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
74 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
75 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
76 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
78 set_fr_iimmed 0x1234,0x5678,fr10
79 set_fr_iimmed 0x7ffe,0x7ffe,fr11
80 set_fr_iimmed 0x1111,0x1111,fr12
81 set_fr_iimmed 0x0002,0x0001,fr13
82 cmqsubhus fr10,fr12,fr14,cc1,0
83 test_fr_limmed 0x0123,0x4567,fr14
84 test_fr_limmed 0x7ffc,0x7ffd,fr15
85 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
86 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
87 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
88 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
91 set_fr_iimmed 0x0001,0x0001,fr10
92 set_fr_iimmed 0x0001,0x0001,fr11
93 set_fr_iimmed 0x0001,0x0002,fr12
94 set_fr_iimmed 0x0002,0x0001,fr13
95 cmqsubhus fr10,fr12,fr14,cc5,0
96 test_fr_limmed 0x0000,0x0000,fr14
97 test_fr_limmed 0x0000,0x0000,fr15
98 test_spr_bits 0x3c,2,0x6,msr0 ; msr0.sie is set
99 test_spr_bits 2,1,1,msr0 ; msr0.ovf set
100 test_spr_bits 1,0,1,msr0 ; msr0.aovf set
101 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
104 set_fr_iimmed 0x0001,0x0001,fr10
105 set_fr_iimmed 0x0002,0x0002,fr11
106 set_fr_iimmed 0x0000,0x0001,fr12
107 set_fr_iimmed 0x0002,0x0003,fr13
108 cmqsubhus.p fr10,fr10,fr14,cc5,0
109 cmqsubhus fr10,fr12,fr16,cc5,0
110 test_fr_limmed 0x0000,0x0000,fr14
111 test_fr_limmed 0x0000,0x0000,fr15
112 test_fr_limmed 0x0001,0x0000,fr16
113 test_fr_limmed 0x0000,0x0000,fr17
114 test_spr_bits 0x3c,2,0x1,msr0 ; msr0.sie is set
115 test_spr_bits 2,1,1,msr0 ; msr0.ovf set
116 test_spr_bits 1,0,1,msr0 ; msr0.aovf set
117 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
119 set_fr_iimmed 0x1111,0x1111,fr14
120 set_fr_iimmed 0x2222,0x2222,fr15
122 set_fr_iimmed 0x0000,0x0000,fr10
123 set_fr_iimmed 0xdead,0xbeef,fr11
124 set_fr_iimmed 0x0000,0x0000,fr12
125 set_fr_iimmed 0x0000,0x0000,fr13
126 cmqsubhus fr10,fr12,fr14,cc0,0
127 test_fr_limmed 0x1111,0x1111,fr14
128 test_fr_limmed 0x2222,0x2222,fr15
129 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
130 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
131 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
132 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
134 set_fr_iimmed 0x1234,0x5678,fr10
135 set_fr_iimmed 0x7ffe,0x7ffe,fr11
136 set_fr_iimmed 0x1111,0x1111,fr12
137 set_fr_iimmed 0x0002,0x0001,fr13
138 cmqsubhus fr10,fr12,fr14,cc0,0
139 test_fr_limmed 0x1111,0x1111,fr14
140 test_fr_limmed 0x2222,0x2222,fr15
141 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
142 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
143 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
144 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
147 set_fr_iimmed 0x0001,0x0001,fr10
148 set_fr_iimmed 0x0001,0x0001,fr11
149 set_fr_iimmed 0x0001,0x0002,fr12
150 set_fr_iimmed 0x0002,0x0001,fr13
151 cmqsubhus fr10,fr12,fr14,cc4,0
152 test_fr_limmed 0x1111,0x1111,fr14
153 test_fr_limmed 0x2222,0x2222,fr15
154 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
155 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
156 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
157 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
159 set_fr_iimmed 0x3333,0x3333,fr16
160 set_fr_iimmed 0x4444,0x4444,fr17
162 set_fr_iimmed 0x0001,0x0001,fr10
163 set_fr_iimmed 0x0002,0x0002,fr11
164 set_fr_iimmed 0x0000,0x0001,fr12
165 set_fr_iimmed 0x0002,0x0003,fr13
166 cmqsubhus.p fr10,fr10,fr14,cc4,0
167 cmqsubhus fr10,fr12,fr16,cc4,0
168 test_fr_limmed 0x1111,0x1111,fr14
169 test_fr_limmed 0x2222,0x2222,fr15
170 test_fr_limmed 0x3333,0x3333,fr16
171 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
172 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
173 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
174 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
175 test_fr_limmed 0x4444,0x4444,fr17
177 set_fr_iimmed 0x1111,0x1111,fr14
178 set_fr_iimmed 0x2222,0x2222,fr15
180 set_fr_iimmed 0x0000,0x0000,fr10
181 set_fr_iimmed 0xdead,0xbeef,fr11
182 set_fr_iimmed 0x0000,0x0000,fr12
183 set_fr_iimmed 0x0000,0x0000,fr13
184 cmqsubhus fr10,fr12,fr14,cc1,1
185 test_fr_limmed 0x1111,0x1111,fr14
186 test_fr_limmed 0x2222,0x2222,fr15
187 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
188 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
189 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
190 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
192 set_fr_iimmed 0x1234,0x5678,fr10
193 set_fr_iimmed 0x7ffe,0x7ffe,fr11
194 set_fr_iimmed 0x1111,0x1111,fr12
195 set_fr_iimmed 0x0002,0x0001,fr13
196 cmqsubhus fr10,fr12,fr14,cc1,1
197 test_fr_limmed 0x1111,0x1111,fr14
198 test_fr_limmed 0x2222,0x2222,fr15
199 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
200 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
201 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
202 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
205 set_fr_iimmed 0x0001,0x0001,fr10
206 set_fr_iimmed 0x0001,0x0001,fr11
207 set_fr_iimmed 0x0001,0x0002,fr12
208 set_fr_iimmed 0x0002,0x0001,fr13
209 cmqsubhus fr10,fr12,fr14,cc5,1
210 test_fr_limmed 0x1111,0x1111,fr14
211 test_fr_limmed 0x2222,0x2222,fr15
212 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
213 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
214 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
215 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
217 set_fr_iimmed 0x3333,0x3333,fr16
218 set_fr_iimmed 0x4444,0x4444,fr17
220 set_fr_iimmed 0x0001,0x0001,fr10
221 set_fr_iimmed 0x0002,0x0002,fr11
222 set_fr_iimmed 0x0000,0x0001,fr12
223 set_fr_iimmed 0x0002,0x0003,fr13
224 cmqsubhus.p fr10,fr10,fr14,cc5,1
225 cmqsubhus fr10,fr12,fr16,cc5,1
226 test_fr_limmed 0x1111,0x1111,fr14
227 test_fr_limmed 0x2222,0x2222,fr15
228 test_fr_limmed 0x3333,0x3333,fr16
229 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
230 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
231 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
232 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
233 test_fr_limmed 0x4444,0x4444,fr17
235 set_fr_iimmed 0x1111,0x1111,fr14
236 set_fr_iimmed 0x2222,0x2222,fr15
238 set_fr_iimmed 0x0000,0x0000,fr10
239 set_fr_iimmed 0xdead,0xbeef,fr11
240 set_fr_iimmed 0x0000,0x0000,fr12
241 set_fr_iimmed 0x0000,0x0000,fr13
242 cmqsubhus fr10,fr12,fr14,cc2,1
243 test_fr_limmed 0x1111,0x1111,fr14
244 test_fr_limmed 0x2222,0x2222,fr15
245 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
246 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
247 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
248 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
250 set_fr_iimmed 0x1234,0x5678,fr10
251 set_fr_iimmed 0x7ffe,0x7ffe,fr11
252 set_fr_iimmed 0x1111,0x1111,fr12
253 set_fr_iimmed 0x0002,0x0001,fr13
254 cmqsubhus fr10,fr12,fr14,cc2,0
255 test_fr_limmed 0x1111,0x1111,fr14
256 test_fr_limmed 0x2222,0x2222,fr15
257 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
258 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
259 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
260 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
263 set_fr_iimmed 0x0001,0x0001,fr10
264 set_fr_iimmed 0x0001,0x0001,fr11
265 set_fr_iimmed 0x0001,0x0002,fr12
266 set_fr_iimmed 0x0002,0x0001,fr13
267 cmqsubhus fr10,fr12,fr14,cc6,1
268 test_fr_limmed 0x1111,0x1111,fr14
269 test_fr_limmed 0x2222,0x2222,fr15
270 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
271 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
272 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
273 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
275 set_fr_iimmed 0x3333,0x3333,fr16
276 set_fr_iimmed 0x4444,0x4444,fr17
278 set_fr_iimmed 0x0001,0x0001,fr10
279 set_fr_iimmed 0x0002,0x0002,fr11
280 set_fr_iimmed 0x0000,0x0001,fr12
281 set_fr_iimmed 0x0002,0x0003,fr13
282 cmqsubhus.p fr10,fr10,fr14,cc6,0
283 cmqsubhus fr10,fr12,fr16,cc6,1
284 test_fr_limmed 0x1111,0x1111,fr14
285 test_fr_limmed 0x2222,0x2222,fr15
286 test_fr_limmed 0x3333,0x3333,fr16
287 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
288 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
289 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
290 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
291 test_fr_limmed 0x4444,0x4444,fr17
293 set_fr_iimmed 0x1111,0x1111,fr14
294 set_fr_iimmed 0x2222,0x2222,fr15
296 set_fr_iimmed 0x0000,0x0000,fr10
297 set_fr_iimmed 0xdead,0xbeef,fr11
298 set_fr_iimmed 0x0000,0x0000,fr12
299 set_fr_iimmed 0x0000,0x0000,fr13
300 cmqsubhus fr10,fr12,fr14,cc3,1
301 test_fr_limmed 0x1111,0x1111,fr14
302 test_fr_limmed 0x2222,0x2222,fr15
303 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
304 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
305 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
306 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
308 set_fr_iimmed 0x1234,0x5678,fr10
309 set_fr_iimmed 0x7ffe,0x7ffe,fr11
310 set_fr_iimmed 0x1111,0x1111,fr12
311 set_fr_iimmed 0x0002,0x0001,fr13
312 cmqsubhus fr10,fr12,fr14,cc3,0
313 test_fr_limmed 0x1111,0x1111,fr14
314 test_fr_limmed 0x2222,0x2222,fr15
315 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
316 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
317 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
318 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
321 set_fr_iimmed 0x0001,0x0001,fr10
322 set_fr_iimmed 0x0001,0x0001,fr11
323 set_fr_iimmed 0x0001,0x0002,fr12
324 set_fr_iimmed 0x0002,0x0001,fr13
325 cmqsubhus fr10,fr12,fr14,cc7,1
326 test_fr_limmed 0x1111,0x1111,fr14
327 test_fr_limmed 0x2222,0x2222,fr15
328 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
329 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
330 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
331 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
333 set_fr_iimmed 0x3333,0x3333,fr16
334 set_fr_iimmed 0x4444,0x4444,fr17
336 set_fr_iimmed 0x0001,0x0001,fr10
337 set_fr_iimmed 0x0002,0x0002,fr11
338 set_fr_iimmed 0x0000,0x0001,fr12
339 set_fr_iimmed 0x0002,0x0003,fr13
340 cmqsubhus.p fr10,fr10,fr14,cc7,0
341 cmqsubhus fr10,fr12,fr16,cc7,1
342 test_fr_limmed 0x1111,0x1111,fr14
343 test_fr_limmed 0x2222,0x2222,fr15
344 test_fr_limmed 0x3333,0x3333,fr16
345 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
346 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
347 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
348 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
349 test_fr_limmed 0x4444,0x4444,fr17