1 # frv testcase for cmqaddhus $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,0x0000,fr11
14 set_fr_iimmed 0x0000,0x0000,fr12
15 set_fr_iimmed 0x0000,0xbeef,fr13
16 cmqaddhus 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 0x0000,0xdead,fr10
25 set_fr_iimmed 0x1234,0x5678,fr11
26 set_fr_iimmed 0xbeef,0x0000,fr12
27 set_fr_iimmed 0x1111,0x1111,fr13
28 cmqaddhus fr10,fr12,fr14,cc0,1
29 test_fr_limmed 0xbeef,0xdead,fr14
30 test_fr_limmed 0x2345,0x6789,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
36 set_fr_iimmed 0x7ffe,0x7ffe,fr10
37 set_fr_iimmed 0xfffe,0xfffe,fr11
38 set_fr_iimmed 0x0002,0x0001,fr12
39 set_fr_iimmed 0x0001,0x0002,fr13
40 cmqaddhus fr10,fr12,fr14,cc4,1
41 test_fr_limmed 0x8000,0x7fff,fr14
42 test_fr_limmed 0xffff,0xffff,fr15
43 test_spr_bits 0x3c,2,1,msr0 ; msr0.sie is set
44 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
45 test_spr_bits 1,0,1,msr0 ; msr0.aovf set
46 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
49 set_fr_iimmed 0x0002,0x0001,fr10
50 set_fr_iimmed 0x0001,0x0001,fr11
51 set_fr_iimmed 0xfffe,0xfffe,fr12
52 set_fr_iimmed 0x8000,0x8000,fr13
53 cmqaddhus.p fr10,fr10,fr14,cc4,1
54 cmqaddhus fr12,fr12,fr16,cc4,1
55 test_fr_limmed 0x0004,0x0002,fr14
56 test_fr_limmed 0x0002,0x0002,fr15
57 test_fr_limmed 0xffff,0xffff,fr16
58 test_fr_limmed 0xffff,0xffff,fr17
59 test_spr_bits 0x3c,2,0xf,msr0 ; msr0.sie is set
60 test_spr_bits 2,1,1,msr0 ; msr0.ovf set
61 test_spr_bits 1,0,1,msr0 ; msr0.aovf set
62 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
65 set_fr_iimmed 0x0000,0x0000,fr10
66 set_fr_iimmed 0xdead,0x0000,fr11
67 set_fr_iimmed 0x0000,0x0000,fr12
68 set_fr_iimmed 0x0000,0xbeef,fr13
69 cmqaddhus fr10,fr12,fr14,cc1,0
70 test_fr_limmed 0x0000,0x0000,fr14
71 test_fr_limmed 0xdead,0xbeef,fr15
72 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
73 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
74 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
75 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
77 set_fr_iimmed 0x0000,0xdead,fr10
78 set_fr_iimmed 0x1234,0x5678,fr11
79 set_fr_iimmed 0xbeef,0x0000,fr12
80 set_fr_iimmed 0x1111,0x1111,fr13
81 cmqaddhus fr10,fr12,fr14,cc1,0
82 test_fr_limmed 0xbeef,0xdead,fr14
83 test_fr_limmed 0x2345,0x6789,fr15
84 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
85 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
86 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
87 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
89 set_fr_iimmed 0x7ffe,0x7ffe,fr10
90 set_fr_iimmed 0xfffe,0xfffe,fr11
91 set_fr_iimmed 0x0002,0x0001,fr12
92 set_fr_iimmed 0x0001,0x0002,fr13
93 cmqaddhus fr10,fr12,fr14,cc5,0
94 test_fr_limmed 0x8000,0x7fff,fr14
95 test_fr_limmed 0xffff,0xffff,fr15
96 test_spr_bits 0x3c,2,1,msr0 ; msr0.sie is set
97 test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
98 test_spr_bits 1,0,1,msr0 ; msr0.aovf set
99 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
102 set_fr_iimmed 0x0002,0x0001,fr10
103 set_fr_iimmed 0x0001,0x0001,fr11
104 set_fr_iimmed 0xfffe,0xfffe,fr12
105 set_fr_iimmed 0x8000,0x8000,fr13
106 cmqaddhus.p fr10,fr10,fr14,cc5,0
107 cmqaddhus fr12,fr12,fr16,cc5,0
108 test_fr_limmed 0x0004,0x0002,fr14
109 test_fr_limmed 0x0002,0x0002,fr15
110 test_fr_limmed 0xffff,0xffff,fr16
111 test_fr_limmed 0xffff,0xffff,fr17
112 test_spr_bits 0x3c,2,0xf,msr0 ; msr0.sie is set
113 test_spr_bits 2,1,1,msr0 ; msr0.ovf set
114 test_spr_bits 1,0,1,msr0 ; msr0.aovf set
115 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set
117 set_fr_iimmed 0x1111,0x1111,fr14
118 set_fr_iimmed 0x2222,0x2222,fr15
120 set_fr_iimmed 0x0000,0x0000,fr10
121 set_fr_iimmed 0xdead,0x0000,fr11
122 set_fr_iimmed 0x0000,0x0000,fr12
123 set_fr_iimmed 0x0000,0xbeef,fr13
124 cmqaddhus fr10,fr12,fr14,cc0,0
125 test_fr_limmed 0x1111,0x1111,fr14
126 test_fr_limmed 0x2222,0x2222,fr15
127 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
128 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
129 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
130 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
132 set_fr_iimmed 0x0000,0xdead,fr10
133 set_fr_iimmed 0x1234,0x5678,fr11
134 set_fr_iimmed 0xbeef,0x0000,fr12
135 set_fr_iimmed 0x1111,0x1111,fr13
136 cmqaddhus fr10,fr12,fr14,cc0,0
137 test_fr_limmed 0x1111,0x1111,fr14
138 test_fr_limmed 0x2222,0x2222,fr15
139 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
140 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
141 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
142 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
144 set_fr_iimmed 0x7ffe,0x7ffe,fr10
145 set_fr_iimmed 0xfffe,0xfffe,fr11
146 set_fr_iimmed 0x0002,0x0001,fr12
147 set_fr_iimmed 0x0001,0x0002,fr13
148 cmqaddhus fr10,fr12,fr14,cc4,0
149 test_fr_limmed 0x1111,0x1111,fr14
150 test_fr_limmed 0x2222,0x2222,fr15
151 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
152 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
153 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
154 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
156 set_fr_iimmed 0x3333,0x3333,fr16
157 set_fr_iimmed 0x4444,0x4444,fr17
159 set_fr_iimmed 0x0002,0x0001,fr10
160 set_fr_iimmed 0x0001,0x0001,fr11
161 set_fr_iimmed 0xfffe,0xfffe,fr12
162 set_fr_iimmed 0x8000,0x8000,fr13
163 cmqaddhus.p fr10,fr10,fr14,cc4,0
164 cmqaddhus fr12,fr12,fr16,cc4,0
165 test_fr_limmed 0x1111,0x1111,fr14
166 test_fr_limmed 0x2222,0x2222,fr15
167 test_fr_limmed 0x3333,0x3333,fr16
168 test_fr_limmed 0x4444,0x4444,fr17
169 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
170 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
171 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
172 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
174 set_fr_iimmed 0x1111,0x1111,fr14
175 set_fr_iimmed 0x2222,0x2222,fr15
177 set_fr_iimmed 0x0000,0x0000,fr10
178 set_fr_iimmed 0xdead,0x0000,fr11
179 set_fr_iimmed 0x0000,0x0000,fr12
180 set_fr_iimmed 0x0000,0xbeef,fr13
181 cmqaddhus fr10,fr12,fr14,cc1,1
182 test_fr_limmed 0x1111,0x1111,fr14
183 test_fr_limmed 0x2222,0x2222,fr15
184 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
185 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
186 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
187 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
189 set_fr_iimmed 0x0000,0xdead,fr10
190 set_fr_iimmed 0x1234,0x5678,fr11
191 set_fr_iimmed 0xbeef,0x0000,fr12
192 set_fr_iimmed 0x1111,0x1111,fr13
193 cmqaddhus fr10,fr12,fr14,cc1,1
194 test_fr_limmed 0x1111,0x1111,fr14
195 test_fr_limmed 0x2222,0x2222,fr15
196 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
197 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
198 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
199 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
201 set_fr_iimmed 0x7ffe,0x7ffe,fr10
202 set_fr_iimmed 0xfffe,0xfffe,fr11
203 set_fr_iimmed 0x0002,0x0001,fr12
204 set_fr_iimmed 0x0001,0x0002,fr13
205 cmqaddhus fr10,fr12,fr14,cc5,1
206 test_fr_limmed 0x1111,0x1111,fr14
207 test_fr_limmed 0x2222,0x2222,fr15
208 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
209 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
210 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
211 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
213 set_fr_iimmed 0x3333,0x3333,fr16
214 set_fr_iimmed 0x4444,0x4444,fr17
216 set_fr_iimmed 0x0002,0x0001,fr10
217 set_fr_iimmed 0x0001,0x0001,fr11
218 set_fr_iimmed 0xfffe,0xfffe,fr12
219 set_fr_iimmed 0x8000,0x8000,fr13
220 cmqaddhus.p fr10,fr10,fr14,cc5,1
221 cmqaddhus fr12,fr12,fr16,cc5,1
222 test_fr_limmed 0x1111,0x1111,fr14
223 test_fr_limmed 0x2222,0x2222,fr15
224 test_fr_limmed 0x3333,0x3333,fr16
225 test_fr_limmed 0x4444,0x4444,fr17
226 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
227 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
228 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
229 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
231 set_fr_iimmed 0x1111,0x1111,fr14
232 set_fr_iimmed 0x2222,0x2222,fr15
234 set_fr_iimmed 0x0000,0x0000,fr10
235 set_fr_iimmed 0xdead,0x0000,fr11
236 set_fr_iimmed 0x0000,0x0000,fr12
237 set_fr_iimmed 0x0000,0xbeef,fr13
238 cmqaddhus fr10,fr12,fr14,cc2,1
239 test_fr_limmed 0x1111,0x1111,fr14
240 test_fr_limmed 0x2222,0x2222,fr15
241 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
242 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
243 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
244 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
246 set_fr_iimmed 0x0000,0xdead,fr10
247 set_fr_iimmed 0x1234,0x5678,fr11
248 set_fr_iimmed 0xbeef,0x0000,fr12
249 set_fr_iimmed 0x1111,0x1111,fr13
250 cmqaddhus fr10,fr12,fr14,cc2,0
251 test_fr_limmed 0x1111,0x1111,fr14
252 test_fr_limmed 0x2222,0x2222,fr15
253 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
254 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
255 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
256 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
258 set_fr_iimmed 0x7ffe,0x7ffe,fr10
259 set_fr_iimmed 0xfffe,0xfffe,fr11
260 set_fr_iimmed 0x0002,0x0001,fr12
261 set_fr_iimmed 0x0001,0x0002,fr13
262 cmqaddhus fr10,fr12,fr14,cc6,1
263 test_fr_limmed 0x1111,0x1111,fr14
264 test_fr_limmed 0x2222,0x2222,fr15
265 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
266 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
267 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
268 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
270 set_fr_iimmed 0x3333,0x3333,fr16
271 set_fr_iimmed 0x4444,0x4444,fr17
273 set_fr_iimmed 0x0002,0x0001,fr10
274 set_fr_iimmed 0x0001,0x0001,fr11
275 set_fr_iimmed 0xfffe,0xfffe,fr12
276 set_fr_iimmed 0x8000,0x8000,fr13
277 cmqaddhus.p fr10,fr10,fr14,cc6,0
278 cmqaddhus fr12,fr12,fr16,cc6,1
279 test_fr_limmed 0x1111,0x1111,fr14
280 test_fr_limmed 0x2222,0x2222,fr15
281 test_fr_limmed 0x3333,0x3333,fr16
282 test_fr_limmed 0x4444,0x4444,fr17
283 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
284 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
285 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
286 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
288 set_fr_iimmed 0x1111,0x1111,fr14
289 set_fr_iimmed 0x2222,0x2222,fr15
291 set_fr_iimmed 0x0000,0x0000,fr10
292 set_fr_iimmed 0xdead,0x0000,fr11
293 set_fr_iimmed 0x0000,0x0000,fr12
294 set_fr_iimmed 0x0000,0xbeef,fr13
295 cmqaddhus fr10,fr12,fr14,cc3,1
296 test_fr_limmed 0x1111,0x1111,fr14
297 test_fr_limmed 0x2222,0x2222,fr15
298 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
299 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
300 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
301 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
303 set_fr_iimmed 0x0000,0xdead,fr10
304 set_fr_iimmed 0x1234,0x5678,fr11
305 set_fr_iimmed 0xbeef,0x0000,fr12
306 set_fr_iimmed 0x1111,0x1111,fr13
307 cmqaddhus fr10,fr12,fr14,cc3,0
308 test_fr_limmed 0x1111,0x1111,fr14
309 test_fr_limmed 0x2222,0x2222,fr15
310 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
311 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
312 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
313 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
315 set_fr_iimmed 0x7ffe,0x7ffe,fr10
316 set_fr_iimmed 0xfffe,0xfffe,fr11
317 set_fr_iimmed 0x0002,0x0001,fr12
318 set_fr_iimmed 0x0001,0x0002,fr13
319 cmqaddhus fr10,fr12,fr14,cc7,1
320 test_fr_limmed 0x1111,0x1111,fr14
321 test_fr_limmed 0x2222,0x2222,fr15
322 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
323 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
324 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
325 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set
327 set_fr_iimmed 0x3333,0x3333,fr16
328 set_fr_iimmed 0x4444,0x4444,fr17
330 set_fr_iimmed 0x0002,0x0001,fr10
331 set_fr_iimmed 0x0001,0x0001,fr11
332 set_fr_iimmed 0xfffe,0xfffe,fr12
333 set_fr_iimmed 0x8000,0x8000,fr13
334 cmqaddhus.p fr10,fr10,fr14,cc7,0
335 cmqaddhus fr12,fr12,fr16,cc7,1
336 test_fr_limmed 0x1111,0x1111,fr14
337 test_fr_limmed 0x2222,0x2222,fr15
338 test_fr_limmed 0x3333,0x3333,fr16
339 test_fr_limmed 0x4444,0x4444,fr17
340 test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
341 test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
342 test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
343 test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt always set