1# frv testcase for bcgtlr $ICCi,$ccond,$hint
2# mach: all
3
4	.include "testutils.inc"
5
6	start
7
8	.global bcgtlr
9bcgtlr:
10	; ccond is true
11	set_spr_immed	128,lcr
12	set_spr_addr	ok1,lr
13	set_icc		0x0 0
14	bcgtlr		icc0,0,0
15	fail
16ok1:
17	set_spr_addr	ok2,lr
18	set_icc		0x1 1
19	bcgtlr		icc1,0,1
20	fail
21ok2:
22	set_spr_addr	bad,lr
23	set_icc		0x2 2
24	bcgtlr		icc2,0,2
25
26	set_spr_addr	bad,lr
27	set_icc		0x3 3
28	bcgtlr		icc3,0,3
29
30	set_spr_addr	bad,lr
31	set_icc		0x4 0
32	bcgtlr		icc0,0,0
33
34	set_spr_addr	bad,lr
35	set_icc		0x5 1
36	bcgtlr		icc1,0,1
37
38	set_spr_addr	bad,lr
39	set_icc		0x6 2
40	bcgtlr		icc2,0,2
41
42	set_spr_addr	bad,lr
43	set_icc		0x7 3
44	bcgtlr		icc3,0,3
45
46	set_spr_addr	bad,lr
47	set_icc		0x8 0
48	bcgtlr		icc0,0,0
49
50	set_spr_addr	bad,lr
51	set_icc		0x9 1
52	bcgtlr		icc1,0,1
53
54	set_spr_addr	okb,lr
55	set_icc		0xa 2
56	bcgtlr		icc2,0,2
57	fail
58okb:
59	set_spr_addr	okc,lr
60	set_icc		0xb 3
61	bcgtlr		icc3,0,3
62	fail
63okc:
64	set_spr_addr	bad,lr
65	set_icc		0xc 0
66	bcgtlr		icc0,0,0
67
68	set_spr_addr	bad,lr
69	set_icc		0xd 1
70	bcgtlr		icc1,0,1
71
72	set_spr_addr	bad,lr
73	set_icc		0xe 2
74	bcgtlr		icc2,0,2
75
76	set_spr_addr	bad,lr
77	set_icc		0xf 3
78	bcgtlr		icc3,0,3
79
80	; ccond is true
81	set_spr_immed	1,lcr
82	set_spr_addr	okh,lr
83	set_icc		0x0 0
84	bcgtlr		icc0,1,0
85	fail
86okh:
87	set_spr_immed	1,lcr
88	set_spr_addr	oki,lr
89	set_icc		0x1 1
90	bcgtlr		icc1,1,1
91	fail
92oki:
93	set_spr_immed	1,lcr
94	set_spr_addr	bad,lr
95	set_icc		0x2 2
96	bcgtlr		icc2,1,2
97
98	set_spr_immed	1,lcr
99	set_spr_addr	bad,lr
100	set_icc		0x3 3
101	bcgtlr		icc3,1,3
102
103	set_spr_immed	1,lcr
104	set_spr_addr	bad,lr
105	set_icc		0x4 0
106	bcgtlr		icc0,1,0
107
108	set_spr_immed	1,lcr
109	set_spr_addr	bad,lr
110	set_icc		0x5 1
111	bcgtlr		icc1,1,1
112
113	set_spr_immed	1,lcr
114	set_spr_addr	bad,lr
115	set_icc		0x6 2
116	bcgtlr		icc2,1,2
117
118	set_spr_immed	1,lcr
119	set_spr_addr	bad,lr
120	set_icc		0x7 3
121	bcgtlr		icc3,1,3
122
123	set_spr_immed	1,lcr
124	set_spr_addr	bad,lr
125	set_icc		0x8 0
126	bcgtlr		icc0,1,0
127
128	set_spr_immed	1,lcr
129	set_spr_addr	bad,lr
130	set_icc		0x9 1
131	bcgtlr		icc1,1,1
132
133	set_spr_immed	1,lcr
134	set_spr_addr	okr,lr
135	set_icc		0xa 2
136	bcgtlr		icc2,1,2
137	fail
138okr:
139	set_spr_immed	1,lcr
140	set_spr_addr	oks,lr
141	set_icc		0xb 3
142	bcgtlr		icc3,1,3
143	fail
144oks:
145	set_spr_immed	1,lcr
146	set_spr_addr	bad,lr
147	set_icc		0xc 0
148	bcgtlr		icc0,1,0
149
150	set_spr_immed	1,lcr
151	set_spr_addr	bad,lr
152	set_icc		0xd 1
153	bcgtlr		icc1,1,1
154
155	set_spr_immed	1,lcr
156	set_spr_addr	bad,lr
157	set_icc		0xe 2
158	bcgtlr		icc2,1,2
159
160	set_spr_immed	1,lcr
161	set_spr_addr	bad,lr
162	set_icc		0xf 3
163	bcgtlr		icc3,1,3
164
165	; ccond is false
166	set_spr_immed	128,lcr
167	set_spr_addr	bad,lr
168	set_icc		0x0 0
169	bcgtlr		icc0,1,0
170
171	set_icc		0x1 1
172	bcgtlr		icc1,1,1
173
174	set_icc		0x2 2
175	bcgtlr		icc2,1,2
176
177	set_icc		0x3 3
178	bcgtlr		icc3,1,3
179
180	set_icc		0x4 0
181	bcgtlr		icc0,1,0
182
183	set_icc		0x5 1
184	bcgtlr		icc1,1,1
185
186	set_icc		0x6 2
187	bcgtlr		icc2,1,2
188
189	set_icc		0x7 3
190	bcgtlr		icc3,1,3
191
192	set_icc		0x8 0
193	bcgtlr		icc0,1,0
194
195	set_icc		0x9 1
196	bcgtlr		icc1,1,1
197
198	set_icc		0xa 2
199	bcgtlr		icc2,1,2
200
201	set_icc		0xb 3
202	bcgtlr		icc3,1,3
203
204	set_icc		0xc 0
205	bcgtlr		icc0,1,0
206
207	set_icc		0xd 1
208	bcgtlr		icc1,1,1
209
210	set_icc		0xe 2
211	bcgtlr		icc2,1,2
212
213	set_icc		0xf 3
214	bcgtlr		icc3,1,3
215
216	; ccond is false
217	set_spr_immed	1,lcr
218	set_spr_addr	bad,lr
219	set_icc		0x0 0
220	bcgtlr		icc0,0,0
221
222	set_spr_immed	1,lcr
223	set_icc		0x1 1
224	bcgtlr		icc1,0,1
225
226	set_spr_immed	1,lcr
227	set_icc		0x2 2
228	bcgtlr		icc2,0,2
229
230	set_spr_immed	1,lcr
231	set_icc		0x3 3
232	bcgtlr		icc3,0,3
233
234	set_spr_immed	1,lcr
235	set_icc		0x4 0
236	bcgtlr		icc0,0,0
237
238	set_spr_immed	1,lcr
239	set_icc		0x5 1
240	bcgtlr		icc1,0,1
241
242	set_spr_immed	1,lcr
243	set_icc		0x6 2
244	bcgtlr		icc2,0,2
245
246	set_spr_immed	1,lcr
247	set_icc		0x7 3
248	bcgtlr		icc3,0,3
249
250	set_spr_immed	1,lcr
251	set_icc		0x8 0
252	bcgtlr		icc0,0,0
253
254	set_spr_immed	1,lcr
255	set_icc		0x9 1
256	bcgtlr		icc1,0,1
257
258	set_spr_immed	1,lcr
259	set_icc		0xa 2
260	bcgtlr		icc2,0,2
261
262	set_spr_immed	1,lcr
263	set_icc		0xb 3
264	bcgtlr		icc3,0,3
265
266	set_spr_immed	1,lcr
267	set_icc		0xc 0
268	bcgtlr		icc0,0,0
269
270	set_spr_immed	1,lcr
271	set_icc		0xd 1
272	bcgtlr		icc1,0,1
273
274	set_spr_immed	1,lcr
275	set_icc		0xe 2
276	bcgtlr		icc2,0,2
277
278	set_spr_immed	1,lcr
279	set_icc		0xf 3
280	bcgtlr		icc3,0,3
281
282	pass
283bad:
284	fail
285