xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/frv/fr550/cmqaddhus.cgs (revision 4439cfd0acf9c7dc90625e5cd83b2317a9ab8967)
1# frv testcase for cmqaddhus $FRi,$FRj,$FRj,$CCi,$cond
2# mach: all
3
4	.include "../testutils.inc"
5
6	start
7
8	.global cmqaddhus
9cmqaddhus:
10	set_spr_immed	0x1b1b,cccr
11
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
23
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
35
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
47
48	set_spr_immed	0,msr0
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
63
64	set_spr_immed	0,msr0
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
76
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
88
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
100
101	set_spr_immed	0,msr0
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
116
117	set_fr_iimmed	0x1111,0x1111,fr14
118	set_fr_iimmed	0x2222,0x2222,fr15
119	set_spr_immed	0,msr0
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
131
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
143
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
155
156	set_fr_iimmed	0x3333,0x3333,fr16
157	set_fr_iimmed	0x4444,0x4444,fr17
158	set_spr_immed	0,msr0
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
173
174	set_fr_iimmed	0x1111,0x1111,fr14
175	set_fr_iimmed	0x2222,0x2222,fr15
176	set_spr_immed	0,msr0
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
188
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
200
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
212
213	set_fr_iimmed	0x3333,0x3333,fr16
214	set_fr_iimmed	0x4444,0x4444,fr17
215	set_spr_immed	0,msr0
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
230
231	set_fr_iimmed	0x1111,0x1111,fr14
232	set_fr_iimmed	0x2222,0x2222,fr15
233	set_spr_immed	0,msr0
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
245
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
257
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
269
270	set_fr_iimmed	0x3333,0x3333,fr16
271	set_fr_iimmed	0x4444,0x4444,fr17
272	set_spr_immed	0,msr0
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
287
288	set_fr_iimmed	0x1111,0x1111,fr14
289	set_fr_iimmed	0x2222,0x2222,fr15
290	set_spr_immed	0,msr0
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
302
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
314
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
326
327	set_fr_iimmed	0x3333,0x3333,fr16
328	set_fr_iimmed	0x4444,0x4444,fr17
329	set_spr_immed	0,msr0
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
344
345	pass
346